在此代码中,脚本将排除重复的电子邮件地址。我想要相反,因为我想包含重复的电子邮件地址,并向每个电子邮件发送一封单独的电子邮件。我不知道要修改哪些代码来获得预期的结果。
shell=True
如您所见,需要替换电子邮件模板中的某些信息。
答案 0 :(得分:2)
首先,不要循环列中的每个单元格。这是非常低效的。我建议你放在一个数组中,如果你必须你可以循环它。
此外,虽然声明工作簿/工作表/范围对象技术上是可选的,但是不建议您不要这样做。首先,如果正确(如使用有意义的变量名称),这可以帮助您更轻松地阅读代码。
Sub test()
' For the love of Pete, declare your objects!!
Dim ws As Worksheet, rngI As Range
Set ws = ThisWorkbook.Worksheets("day1")
Set rngI = ws.UsedRange.Columns("I")
' This is your array that contains your emails
Dim emailArr() As Variant, Email As Variant
emailArr = rngI.Value
' Loop through each email and do what you need to do with it
For Each Email In emailArr
Set objOutlook = CreateObject("Outlook.Application")
'everything you do with this email goes here
Next
End Sub