【发布时间】:2020-07-23 20:38:14
【问题描述】:
我的目标是知道电子邮件何时发送。
我有 msgbox 代码,知道所有电子邮件地址都已处理。
我的编码着眼于填充的单元格/列。我有一列列出电子邮件地址、一列用于电子邮件正文、一列用于附件路径等。
我想为每个电子邮件地址添加一个“状态”。我想说发送或未发送(如果它是无效的电子邮件地址,则不发送)。
现在,如果电子邮件地址无效,它会进行调试。我不想等到它调试后才发现它不是一个有效的电子邮件地址。我希望每一行都有一个电子邮件地址,说明已发送或未发送,但即使它不是有效的电子邮件地址,也要继续发送。
如果不进行调试,msgbox 就很棒。我想保留消息框。
我的 Excel 工作簿中的布局。我希望将已发送和未发送的信息填充到状态列中。
Sub Send_Multiple_Emails()
dim sh as worksheet
set sh = thisworkbook.sheets("sheet1") '<-- rename to what the tabs name is
dim OA as Object
Dim msg As object
set OA = createobject("Outlook.Application")
Dim i as integer
dim last_row As Integer
last_row = application.worksheetfunction.counta(sh.range("B:B"))
for i = 2 To last_row
Set msg = OA.createitem(0)
msg.to = sh.Range("B" & i).Value
msg.cc = sh.Range("C" & i).Value
msg.subject = sh.range("D" & i ).Value
msg.body = sh.Range("E" & i).Value
if sh.Range("F" & i).Value <> "" Then
msg.attachments.add sh.range("F" & i).Value
msg.send
next i
msgbox "Mails Sent"
End Sub
【问题讨论】: