【问题标题】:SaveAttachmentsToDisk VBA code not workingSaveAttachmentsToDisk VBA 代码不起作用
【发布时间】:2017-05-09 15:35:59
【问题描述】:
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
  Dim oAttachment As Outlook.Attachment
  Dim sSaveFolder As String
  sSaveFolder = "C:\Users\axt112\Desktop\downloads\"
  For Each oAttachment In MItem.Attachments
    If oAttachment = "Checkpoint Volume and Movement Times*" Then oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
  Next
End Sub

我正在使用 Outlook VBA 代码将带有某些文件的附件保存到指定的文件夹中。规则运行这个脚本,我看不出规则有什么问题,所以我假设它是代码。

这很奇怪,因为上周它运行良好,而我没有改变任何东西。你们有没有看到代码中有什么奇怪的地方?

谢谢。

【问题讨论】:

  • 尝试将oAttachment.SaveAsFile...移动到同一行中Then之后,或者在oAttachment.SaveAsFile...之后插入End if作为新行
  • 已经过了then,我尝试了End if,但它不起作用:/
  • If oAttachment Like "Checkpoint Volume and Movement Times*" Then 除非您的附件具有该确切名称...也可能是 If oAttachment.DisplayName
  • 在同一行。用like再次运行它并不起作用。也许是服务器问题或其他什么?
  • 运行时有没有报错?也可以试试left功能:If Left(oAttachment, 36) = "Checkpoint Volume and Movement Times" Then

标签: vba outlook email-attachments


【解决方案1】:

您无法在 VBA 中比较 Outlook 对象和字符串。您很可能希望比较 Attachment 类的 DisplayName 属性,该属性返回一个表示名称的字符串,它不需要是实际文件名,显示在表示嵌入附件的图标下方。

Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
  Dim oAttachment As Outlook.Attachment
  Dim sSaveFolder As String
  sSaveFolder = "C:\Users\axt112\Desktop\downloads\"
  For Each oAttachment In MItem.Attachments
    If oAttachment.DisplayName = "Checkpoint Volume and Movement Times*" Then          
       oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
    Next
End Sub 

或使用 Like 功能:

Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
  Dim oAttachment As Outlook.Attachment
  Dim sSaveFolder As String
  sSaveFolder = "C:\Users\axt112\Desktop\downloads\"
  For Each oAttachment In MItem.Attachments
    If oAttachment.DisplayName Like "Checkpoint Volume and Movement Times*" Then          
       oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
    Next
End Sub 

您可能会发现Getting Started with VBA in Outlook 2010 文章很有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多