如何通过Excel VBA在Outlook中自动回复?

我想我的运气有一个程序,您可以在Outlook中使用Excel VBA回复选定的电子邮件。 不幸的是,我找不到任何工作代码。

Option Explicit Sub ReplyMSG() Dim olItem As Outlook.MailItem Dim olReply As MailItem ' Reply Dim olRecip As Recipient ' Add Recipient Dim myOlExp As Outlook.Explorer Dim myOlSel As Outlook.Selection Set myOlExp = Application.ActiveExplorer Set myOlSel = myOlExp.Selection For Each olItem In myOlSel 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 

我试图使用此代码,但错误438对象不支持此属性或方法不断出来。 希望得到这个自动化的帮助。

如果您在Excel VBA中编写,则应用程序这一术语适用于Excel。 Excel应用程序没有ActiveExplorer属性。 你应该钩回你的Outlook应用程序,我没有在提供的代码中看到,如Set myOlExp = refToOutlookApplication.ActiveExplorer

看看你上面显示的内容:

Set myOlExp = Application.ActiveExplorer

这意味着Set myOlExp = Excel.Application.ActiveExplorer ,事情是Excel应用程序没有Explorer对象。

所以你需要: Set myOlExp = refToOutlookApplication.ActiveExplorer

您需要明确说明您希望将variables分配给Outlook应用程序的属性 – 在此阶段,我将假定您已经在模块中的其他位置创build了引用。

如果没有,那么你将需要这样做:

 Dim refToOutlookApplication As Object 'Outlook.Application Set refToOutlookApplication = GetObject(, "Outlook.Application")