我有一个向用户发送电子邮件的工作簿,它有一个测试模式,以便将电子邮件发送到我自己的邮箱。
对于每个用户,我在名为' canvas'的工作表中生成特定消息。然后使用以下代码将其发送给相关用户:
Private Sub sendEmail(sendOnBehalfOf As String, email As String, emailCC As String, subject As String)
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Item.SentOnBehalfOfName = sendOnBehalfOf
.Item.To = email
.Item.cc = emailCC
.Item.subject = subject
.Item.Send
End With
End Sub
大约30-40封电子邮件后,我收到错误消息:
"运行时错误' -2147417856(80010100)':
由于网络或其他通信问题,操作失败。验证您的连接,然后重试。"
我正在测试的所有电子邮件目前都已发送到我的电子邮件,我已注意到一些观察结果,但无法找到解决方案:
答案 0 :(得分:0)
我知道当我自动化大量的Internet Explorer循环时,如果我不在子函数的末尾添加一个ojbIE.Quit语句,代码会慢下来以致代码失败,因为它IE有45个进程在后台打开。也许在这些行中添加一些东西有助于保持代码以快速的速度运行。
如果没有这个诀窍,我只需将.Send
命令更改为.Display
并手动点击发送按钮,或者向{#添加SendKeys
命令39;发送'这样的电子邮件,看看是否没有发生错误。只要你有适当的等待'代码中的命令,SendKeys函数应该可以正常工作。
答案 1 :(得分:0)
在.Item.Send行之后放置DoEvents