【问题标题】:VBA .Attachments.Add method throwing errorVBA .Attachments.Add 方法抛出错误
【发布时间】: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”

标签: excel vba outlook


【解决方案1】:
.Attachments.Add "file.xls"

没有=要求(或允许...)

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

【讨论】:

  • 刚才那条评论打败了我!
  • 哇,简直不敢相信我错过了这个。谢谢!
猜你喜欢
  • 2015-03-08
  • 2017-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多