我想使用宏回复内联使用Outlook模板的消息。
我目前正在使用以下代码使用模板执行回复,但这会打开弹出回复窗口。
Sub Reply_Scripting()
Dim origEmail As MailItem
Dim replyEmail As MailItem
Set origEmail = Application.ActiveWindow.Selection.Item(1)
Set replyEmail = Application.CreateItemFromTemplate("C:\Test.oft")
replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.reply.HTMLBody
replyEmail.Display
End Sub
我搜索过并发现有类似的问题已经回答here。但是,在我的情况下,我无法修改代码以使其成功运行。
感谢。
答案 0 :(得分:0)
我注意到以下代码行:
replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.reply.HTMLBody
注意,您需要获得格式良好的HTML标记并将其分配给HTMLBody
属性。但看起来您尝试将两个HTML页面合并为一个HTML页面。
相反,您需要将正在加载的模板的正文内容粘贴到现有项的正文部分开头的代码中。即在<body>
标记之后。
答案 1 :(得分:0)
这就是我对“自动回复”的看法。这 DOES NOT 允许在发送之前进行编辑,但很容易修改以进行编辑。请参阅代码中的注释。
Sub ReplyMSG()
Dim olItem As Outlook.MailItem
Dim olReply As MailItem ' Reply
For Each olItem In Application.ActiveExplorer.Selection
olItem.UnRead = False '<<----This marks the email as Read
Set olReply = olItem.ReplyAll '<<----This replies to all recipients
olReply.HTMLBody = "Insert a message or template here" & olReply.HTMLBody
olReply.Display '<<-----Use this to display the email before sending
olReply.Send '<<-----Comment this out if you want to edit before sending
Next olItem
End Sub