Outlook回复或回复所有邮件

5
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
objMail.To = "example@email.com"
objMail.cc = "example2@email.com"
objMail.Subject = "Mail test"
objMail.HTMLBody = "This is my message"
unload me
objMail.Display
Set objMail = Nothing
Set objOutlook = Nothing

我正在尝试添加另一个函数来帮助回复选定的电子邮件,但不知道如何将其与 Item As Outlook.MailItem 结合使用。

我知道回复电子邮件需要这个。因此,我想知道如何添加功能,以便我可以选择电子邮件,执行宏并将收件人电子邮件输入到 objMail.To 中,并将收件人正文输入到 objMail.HTMLBody 中。


当使用 Dim Item As Outlook.MailItem 时,可以使用 Item.ReplyItem.ReplyAll 进行回复。 - 0m3r
嗨,Omar,谢谢。但是它不起作用。那个函数“Dim Item As Outlook.MailItem”是否有助于检测我选择了哪封电子邮件? - Zheng Yi Chew
你只想回复选定的电子邮件吗? - 0m3r
是的,如果我误解了我的问题,我很抱歉。我的实际计划是选择收件箱中的电子邮件,并单击宏按钮,以便它将显示与单击回复按钮时完全相同的内容,但唯一的区别是将我的消息(使用objMail.HTMLBody)输入到电子邮件中。 - Zheng Yi Chew
1个回答

7

如果要简单地回复全部回复选定的邮件,请尝试以下步骤。

Option Explicit
Sub ReplyMSG()
    Dim olItem As Outlook.MailItem
    Dim olReply As MailItem ' Reply
    Dim olRecip As Recipient ' Add Recipient
    
    For Each olItem In Application.ActiveExplorer.Selection
        Set olReply = olItem.ReplyAll
        Set olRecip = olReply.Recipients.Add("Email Address Here") ' Recipient Address
        olRecip.Type = olCC
        olReply.HTMLBody = "Hello, Thank you. " & vbCrLf & olReply.HTMLBody
        olReply.Display
    
        'olReply.Send
    Next olItem
End Sub

要隐藏收件人,请使用BCC

示例:

olRecip.Type = olBcc

要添加多个收件人,只需添加即可。

Set olRecip = olReply.Recipients.Add("Email Here")
Set olRecip = olReply.Recipients.Add("Email Here")
Set olRecip = olReply.Recipients.Add("Email Here")

如果没有收件人,请尝试以下操作。

Option Explicit
Sub ReplyMSG()
    Dim olItem As Outlook.MailItem
    Dim olReply As MailItem ' Reply

    For Each olItem In Application.ActiveExplorer.Selection
        Set olReply = olItem.ReplyAll
        olReply.HTMLBody = "Hello, Thank you. " & vbCrLf & olReply.HTMLBody
        olReply.Display

        'olReply.Send
    Next olItem
End Sub

谢谢!然而,默认情况下不会显示收件人的电子邮件。有没有办法在不键入的情况下将其放入? - Zheng Yi Chew
@ZhengYiChew 请查看我的更新答案,我已经删除了收件人,这是你所要求的吗? - 0m3r
请记住,在设置HTMLBody属性时,您不能将两个HTML字符串连接起来 - 您的文本需要在<body>标签之后插入。 - Dmitry Streblechenko
在我的收件箱项目上完美运行,但当我从垃圾邮件中选择任何内容并运行时,就会出现错误“运行时错误'91':对象变量或With块变量未设置”? - MrJoshFisher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接