VBA .Attachments.Add方法抛出错误

时间:2017-04-13 00:15:53

标签: excel vba excel-vba outlook outlook-vba

我正在尝试使用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

1 个答案:

答案 0 :(得分:2)

.Attachments.Add "file.xls"

没有=必需(或允许......)

如果您还没有这样做,则应该传递文件的完整路径,而不仅仅是名称,否则如果当前目录不符合您的预期,您的代码可能会失败。