VBA outlook - 从 excel 检索电子邮件地址作为收件人
VBA outlook - retrieve email address from excel as recipient
我想从 excel 个单元格中检索电子邮件地址,并将它们复制为 outlook 上的收件人。
但是outlook上的"To"和"CC"都是空的
输入输出:
单元格 A1 是我要 "send to".
的电子邮件地址
单元格 A2 是我要 "CC to".
的电子邮件地址
我的VBA代码:
Sub Button1_Click()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
On Error Resume Next
With OutMail
.To = Cells("A1")
.CC = Cells("A2")
.BCC = ""
.Subject = "This is the Subject line"
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
如果删除 "On Error Resume Next" 就可以调试了。以下无效:
.To = Cells("A1")
.CC = Cells("A2")
尝试
.To = Range("A1")
.CC = Range("A2")
我运气更好 Recipient
:
'If not defined:
'olBCC=3
'olCC=2
'olTo=1
Set OutMail = Application.CreateItem(olMailItem)
Set myRecipient = OutMail.Recipients.Add(Range("A1"))
'myRecipient.Type = olTo
'This is default - use for clarity if desired
Set myRecipient = OutMail.Recipients.Add(Range("A2"))
myRecipient.Type = olCC
如果您希望添加多个收件人,则必须一次添加一个
您需要添加收件人,而不是收件人、抄送或密件抄送属性。这些属性仅包含显示名称。 Recipients 集合应该用来修改这个属性。例如:
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
您可能会发现以下文章有帮助:
我想从 excel 个单元格中检索电子邮件地址,并将它们复制为 outlook 上的收件人。
但是outlook上的"To"和"CC"都是空的
输入输出:
单元格 A1 是我要 "send to".
的电子邮件地址单元格 A2 是我要 "CC to".
的电子邮件地址我的VBA代码:
Sub Button1_Click()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
On Error Resume Next
With OutMail
.To = Cells("A1")
.CC = Cells("A2")
.BCC = ""
.Subject = "This is the Subject line"
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
如果删除 "On Error Resume Next" 就可以调试了。以下无效:
.To = Cells("A1")
.CC = Cells("A2")
尝试
.To = Range("A1")
.CC = Range("A2")
我运气更好 Recipient
:
'If not defined:
'olBCC=3
'olCC=2
'olTo=1
Set OutMail = Application.CreateItem(olMailItem)
Set myRecipient = OutMail.Recipients.Add(Range("A1"))
'myRecipient.Type = olTo
'This is default - use for clarity if desired
Set myRecipient = OutMail.Recipients.Add(Range("A2"))
myRecipient.Type = olCC
如果您希望添加多个收件人,则必须一次添加一个
您需要添加收件人,而不是收件人、抄送或密件抄送属性。这些属性仅包含显示名称。 Recipients 集合应该用来修改这个属性。例如:
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
您可能会发现以下文章有帮助: