在 Excel 宏中回复 Outlook 中的所有人

Reply All in Outlook from Excel Macro

当您在 Outlook 中单击全部回复时,它会打开一个新的电子邮件框,但会在您电子邮件的 body 下方显示上一个电子邮件线程。我正在尝试全部回复到 outlook 中选定的电子邮件并输入信息。我想通过 Excel 中的宏来完成这一切。我的问题是,如果我尝试在回复全部的 body 中写入,它会删除整个以前的电子邮件线程。

Sub test()

Dim mail 'object/mail item iterator
Dim replyall 'object which will represent the reply email

For Each mail In Outlook.Application.ActiveExplorer.Selection
    If mail.Class = olMail Then
        Set replyall = mail.replyall
        With replyall
            '.Body = "blah blah hello world"  '<-- uncomment and it will delete the thread
            .Display
        End With
    End If
Next

End Sub

注意:我最接近的是这个,但它删除了我的签名、电子邮件分隔符和最新电子邮件中的 header 信息:

.Body = "blah blah hello world" & mail.body

感谢任何解决方案!谢谢!

对于纯文本,你可以

.Body = "blah blah hello world" & vbCrLf & .Body

如果您想保留格式,您需要将您的字符串插入 replyall.HTMLBody 属性(您不能只连接两个 HTML 字符串)。