我遇到了Excel VBA的“MailEnvelope”
的问题我正在处理的文件存储在网络文件夹中。如果我使用我的笔记本电脑运行它,我将得到“Range类失败的选择方法”错误,或者一旦出现代码的“With”部分就出现网络连接问题的错误:< / p>
Sheets("Mail").Activate
Range("B10").PasteSpecial Paste:=xlPasteValues
Range("A3:C89").Select
Application.CutCopyMode = False
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "This is an automated message"
.Item.To = "person@domain.com"
.Item.Subject = "ActionList"
.Item.Send
End With
由于以下原因,这非常令人沮丧:
如果MailEnvelope方法不是特别健壮的话,可以打开备用解决方案,只是丢失了为什么当其他计算机没有(两者都运行Windows 7,Office 2010)时它突然出现问题,以及为什么它可以正常工作通过它,但不是如果它正常运行。
非常感谢任何帮助!
答案 0 :(得分:1)
根据我在评论部分的后续问题,我发现Excel错误的错误确实是误导性的。我现在相当确信我所遇到的问题是资源有限;我的假设是MailEnvelope功能在调用Outlook时必须更加耗费资源。经过大量的反复试验,以下步骤完全解决了我的问题:
最终代码(再次,现在在一个单独的模块中)如下:
ActiveWorkbook.EnvelopeVisible = True
Application.ScreenUpdating = False
With ActiveSheet.MailEnvelope
.Introduction = "This is an automated message"
.Item.To = "person@domain.com"
.Item.Subject = "ActionList"
.Item.Send
End With
Application.Wait (Now + TimeValue("0:00:10"))
我经过了压力测试&#34;这个解决方案通过多次运行,以及在其他代码繁重的大型文件大小的工作簿中进行尝试,到目前为止它一直运行良好。