【发布时间】:2016-09-22 09:35:16
【问题描述】:
我正在通过 VBA Outlook.Application Reference 从 Excel 创建电子邮件。每封电子邮件都填充了我的 Excel 表中的数据,然后放入 To/CC/BCC/Subject/Body 字段。
现在,当在 Office 2010 中运行此代码时,它可以顺利运行,但在 Office 2013 中,变量包含 To/CC/BCC/etc。显示时数据不会显示在实际电子邮件中。
此引用在 Office 2013 中是否发生了变化?
Sub MailSheet()
Dim OutApp As Object
Dim outMail As Object
Dim rng As Range
' set required variables
Set Sourcewb = ActiveWorkbook
Set Property = ActiveWorkbook.Sheets("Settings").Range("B4")
Set Holidex = ActiveWorkbook.Sheets("Settings").Range("B5")
Set SendTo = ActiveWorkbook.Sheets("Settings").Range("B29")
Set SendCC = ActiveWorkbook.Sheets("Settings").Range("B30")
Set rng = Sheets("Mail").Range("A1:F80")
' set email variables
Set OutApp = CreateObject("Outlook.Application")
Set outMail = OutApp.CreateItem(0)
' some code
' get ready to mail
With outMail
.To = SendTo
.ReplyRecipients.Add ""
.CC = SendCC
.BCC = ""
.Subject = Holidex & " - Daily Email"
.HTMLBody = RangetoHTML(rng)
' display email before sending
.Display '.Send or use .Display
End With
' some code
' Clean up
Set outMail = Nothing
Set OutApp = Nothing
end Sub
【问题讨论】:
-
首先,不要在回复收件人中添加空字符串。其次,如果您使用 Recipients.Add 而不是设置 To/CC/BCC 属性,您会使用不同的结果吗?