Excel VBAstring数组到Outlook电子邮件“收件人”字段

我正在尝试创build一个macros,它将从我的Excel工作表中取出一列电子邮件地址,并填充Outlook电子邮件中的“收件人”字段。 我有基本的工作,我能够创build一个新的Outlook电子邮件与我指定的各种字段值 – 但是,我不知道如何填充多个电子邮件地址到“收件人”字段,一个电子邮件。

到目前为止,我能够创build一个所有需要的电子邮件地址的数组,但不知道如何将数组值填充到Outlook的“收件人”字段。

这是基于尤金的回答,编辑包括了Excel的实施

Sub CreateStatusReportToBoss(addRng as Excel.Range) Dim myItem As Outlook.MailItem Dim myRecipient As Outlook.Recipient Set myItem = Application.CreateItem(olMailItem) For Each cell in addRng Set myRecipient = myItem.Recipients.Add(cell.Value) Next cell myItem.Subject = "Status Report" myItem.Display End Sub 

您可以使用MailItem类的收件人属性添加多个收件人。 它还允许指定收件人的types:收件人,抄送或密件抄送。

 Sub CreateStatusReportToBoss() Dim myItem As Outlook.MailItem Dim myRecipient As Outlook.Recipient Set myItem = Application.CreateItem(olMailItem) Set myRecipient = myItem.Recipients.Add("Dan Wilson") myItem.Subject = "Status Report" myItem.Display End Sub 

这可能会有帮助,但这个概念与项目有点不同。 希望这可以帮助过去类似的案例可用但只能提供地图。

 Sub CreateMail() Dim objOutlook As Object Dim objMail As Object Dim rngTo As Range Dim rngCc As Range Dim rngSubject As Range Dim rngBody As Range Set objOutlook = CreateObject("Outlook.Application") Set objMail = objOutlook.CreateItem(0) With ActiveSheet Set rngTo = .Range("B1") Set rngCc = .Range("B2") Set rngSubject = .Range("B3") Set rngBody = .Range(.Range("B4"), .Range("B4").End(xlDown)) End With rngBody.Copy With objMail .To = rngTo.Value .Cc = rngCc.Value .Subject = rngSubject.Value .Display End With SendKeys "^({v})", True Set objOutlook = Nothing Set objMail = Nothing Set rngTo = Nothing Set rngCc = Nothing Set rngSubject = Nothing Set rngBody = Nothing End Sub