我有200多封邮件要发送,并有单独的附件。
列表在Excel中。
使用其他地方的代码,我设法打开了一封电子邮件,包括附件、电子邮件地址、主题和正文。
一旦邮件被打开,我希望循环暂停,这样我就可以检查细节,添加签名等。然后,我想让循环进入下一个迭代,但直到我点击 "发送"。
还有,更小的问题,但vbNewLine似乎没有创建新的行?
Sub SendEmail_Example1()
Dim EmailApp As Outlook.Application
Dim Source As String
Dim Attachment As String
Dim edress As String
Set EmailApp = New Outlook.Application
Dim EmailItem As Outlook.MailItem
Set EmailItem = EmailApp.CreateItem(olMailItem)
i = 2
Do Until IsEmpty(Cells(i, 1))
Attachment = "C:\Users\username\Downloads\" + Cells(i, 4)
edress = Cells(i, 1)
EmailItem.To = edress
EmailItem.Subject = "Test Email From Excel VBA"
EmailItem.HTMLBody = "Hi," & vbNewLine & vbNewLine & _
"This is my first email from Excel" & _
vbNewLine & vbNewLine & _
"Regards," & vbNewLine & _
"VBA Coder"
Source = ThisWorkbook.FullName
EmailItem.Attachments.Add (Attachment)
EmailItem.Display
i = i + 1
Loop
Set EmailApp = Nothing
Set EmailItem = Nothing
End Sub
我已经有15年没有尝试过了,但是可以尝试一下下面的模态属性。EmailItem.Display
办法
https:/docs.microsoft.comen-usofficevbaapioutlook.mailitem.display。