我有一个简单的 VBA 脚本,用于循环浏览 Excel 中的电子邮件地址列表并发送带有单独附件的电子邮件。这工作正常,并且电子邮件从与 Exchange 服务器绑定的主/默认帐户发送,该帐户与我用于登录公司 PC 的帐户相同。我可以访问另一个共享 Outlook 帐户,并且可以在 Outlook 中看到我的个人帐户和共享帐户。我如何更改以下 VBA 脚本以从共享帐户发送电子邮件。换句话说,有没有办法指定一个特定的电子邮件帐户来使用此脚本打开和发送电子邮件?
Dim sh As Worksheet
Dim OA As Object, msg As Object
Dim i As Integer, j As Integer
Set sh = ThisWorkbook.Sheets("Sheet1")
Set OA = CreateObject("Outlook.Application")
j = Application.WorksheetFunction.CountA(sh.Range("A:A"))
For i = 2 To j
Set msg = OA.CreateItem(0)
msg.To = sh.Range("A" & i).Value
msg.cc = sh.Range("B" & i).Value
msg.Subject = sh.Range("C" & i).Value
msg.Body = sh.Range("D" & i).Value
If sh.Range("E" & i).Value <> "" Then
msg.attachments.Add sh.Range("E" & i).Value
End If
msg.send
Next i
答案1
来自 Outlook 帮助中的 MailItem.Sender:https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.sender
评论
在配置文件中定义了多个帐户的会话中,您可以设置此属性以指定从哪个帐户发送邮件。将此属性设置为特定帐户的 CurrentUser 属性所表示的用户的 AddressEntry 对象。