将 Excel 单元格中的电子邮件地址粘贴到 Outlook
Paste E-mail Address from Excel cell to to Outlook
我要送上生日祝福。我有一个电子邮件地址和日期列表。
我按日期筛选。如何复制电子邮件地址并发送?
我知道如何复制内容,但 Outlook 不支持粘贴配置。
Sub Envia_Emails()
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Call Filtrar_aniversario
Worksheets("Query").Activate
Activated.Cells(2, 2).Copy
With OutlookMail
.To = ""
.CC = ""
.BCC = PasteSpecial
.Subject = "Feliz Aniversário!"
.Body = "Feliz aniversário"
.Display ' para envia o email diretamente defina o código .Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
Sub Filtrar_aniversario()
Application.CutCopyMode = False
Columns("A:D").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
("M4:M5"), Unique:=False
End Sub
您不需要将电子邮件地址复制到剪贴板并粘贴。您可以直接将 To
/ CC
/ BCC
属性设置为带有单个电子邮件地址或 ";"
分隔的电子邮件地址列表的字符串。
.BCC = Range("M4:M5").Text
更新 以下脚本对我来说效果很好:
Sub Envia_Emails()
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
'Call Filtrar_aniversario
With OutlookMail
.To = ""
.CC = ""
.BCC = Application.Range("A1:A1").Text
.Subject = "Feliz Aniversário!"
.Body = "Feliz aniversário"
.Display ' para envia o email diretamente defina o código
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
更新 2:超出我的想象:
for each r in Application.Range("B2:B6")
set recip = OutlookMail.Recipients.Add(r.Text)
recip.Type = 3 'olBCC
next
我要送上生日祝福。我有一个电子邮件地址和日期列表。
我按日期筛选。如何复制电子邮件地址并发送?
我知道如何复制内容,但 Outlook 不支持粘贴配置。
Sub Envia_Emails()
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Call Filtrar_aniversario
Worksheets("Query").Activate
Activated.Cells(2, 2).Copy
With OutlookMail
.To = ""
.CC = ""
.BCC = PasteSpecial
.Subject = "Feliz Aniversário!"
.Body = "Feliz aniversário"
.Display ' para envia o email diretamente defina o código .Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
Sub Filtrar_aniversario()
Application.CutCopyMode = False
Columns("A:D").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
("M4:M5"), Unique:=False
End Sub
您不需要将电子邮件地址复制到剪贴板并粘贴。您可以直接将 To
/ CC
/ BCC
属性设置为带有单个电子邮件地址或 ";"
分隔的电子邮件地址列表的字符串。
.BCC = Range("M4:M5").Text
更新 以下脚本对我来说效果很好:
Sub Envia_Emails()
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
'Call Filtrar_aniversario
With OutlookMail
.To = ""
.CC = ""
.BCC = Application.Range("A1:A1").Text
.Subject = "Feliz Aniversário!"
.Body = "Feliz aniversário"
.Display ' para envia o email diretamente defina o código
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
更新 2:超出我的想象:
for each r in Application.Range("B2:B6")
set recip = OutlookMail.Recipients.Add(r.Text)
recip.Type = 3 'olBCC
next