VBA .Attachments.Add方法抛出错误

我正尝试使用VBA附件发送和发送电子邮件。 代码工作正常,没有Attachments.Add行,但与它得到错误“运行时错误440”:操作失败。

我在网上查找,似乎无法find一个原因。 我没有正确设置电子邮件对象吗?

代码如下:

Sub test() Static objOutlook Dim objMailItem Dim objFileSystem Dim objNamespace Dim objSentFolder Const olFolderInbox As Long = 6 Set objOutlook = CreateObject("Outlook.Application") objOutlook.Session.GetDefaultFolder(olFolderInbox).Display objOutlook.ActiveExplorer.WindowState = WindowState Set objMailItem = objOutlook.CreateItem(0) objMailItem.Display With objMailItem .Subject = "test" Set recip = .Recipients.Add("cats@cats.com") .Attachments.Add = "file.xls" .Body = "" .DeleteAfterSubmit = False End With objMailItem.Send Set objFileSystem = Nothing Set objMailItem = Nothing Set objOutlook = Nothing End Sub 

 .Attachments.Add "file.xls" 

没有=要求(或允许…)

如果你还没有这样做,你应该传递文件的完整path,而不仅仅是名字,否则你的代码可能会失败,如果当前目录不是你所期望的。