【发布时间】:2019-02-26 22:15:23
【问题描述】:
我正在尝试使用 Word VBA 将文档发送给电子邮件收件人。在大多数情况下,这并不难。到目前为止我有这个代码:
With oItem
'Set the recipient for the new email
.To = "person1@mail.com"
'Set the recipient for a copy
.CC = "ccperson@mail.com"
'Set the subject
.Subject = "Blah blah"
End With
我的问题是我在 Outlook 中配置了多个发件人电子邮件地址,而 Outlook 默认选择了错误的一个。
有没有办法使用上述方法指定发件人电子邮件地址?不用说,用于指定发件人地址 (.From = me@wherever.com) 的直观代码行不起作用。谢谢。
更新:
在使用下面 peakpeak 和 Dimitry 的建议进行修改后,我终于让我的代码工作了。我的改变是
1) 包含对 Microsoft Outlook 16 对象库的引用,以便我可以访问 Outlook.MailItem 数据类型。使用上面的代码(没有参考),邮件可以正常发送,但总是会使用错误的发件人地址发送。
2) 将邮件项声明为Outlook.MailItem。这似乎启用了SentOnBehalfOfName 字段。
3) 在SentOnBehalfOfName 字段中使用了我想要的 From: 电子邮件地址。
这是工作代码:
Dim MAPIMailItem As Outlook.MailItem
Set MAPIMailItem = olkApp.CreateItem(olMailItem) 'Create a new mail message
With MAPIMailItem
.BodyFormat = olFormatPlain
.to = strTo
' SentOnBehalfOfName sets the From field on my machine,
' AFTER I declared MAPIMailItem as Outlook.MailItem
.SentOnBehalfOfName = "fromAddress@foo.com"
.Subject = strSubject
.body = strBody
.attachments.Add strAtt
'.send
.Display
End With
【问题讨论】:
-
你需要设置这个属性
.SentOnBehalfOfName -
感谢您的回复,但是......这不会改变我弹出的 Outlook 消息窗口中显示的 From: 地址。这就像创建一个 Outlook 邮件项目总是使用已经存在的默认发件人地址创建项目......