我正在尝试使用VBA附件发送和发送电子邮件。代码在没有Attachments.Add行的情况下工作正常,但是它带有错误“运行时错误'440':操作失败。”
我看过网上似乎无法找到原因。我没有正确设置电子邮件对象吗?
以下代码:
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
答案 0 :(得分:2)
.Attachments.Add "file.xls"
没有=必需(或允许......)
如果您还没有这样做,则应该传递文件的完整路径,而不仅仅是名称,否则如果当前目录不符合您的预期,您的代码可能会失败。