【发布时间】:2017-04-13 00:15:52
【问题描述】:
我正在尝试使用 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
【问题讨论】:
-
您可能需要指定您尝试附加的文件的完整路径。例如,使用“C:\whatever\more_whatever\file.xls”代替“file.xls”