【问题标题】:Outlook Sorting Attachments by key phraseOutlook 按关键字对附件进行排序
【发布时间】:2020-06-29 15:27:10
【问题描述】:

我正在尝试运行一些 VBA 代码,以根据附件名称中的短语自动将附件保存到我桌面上的特定文件夹中。

   Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
     For Each objAtt In itm.Attachments
        If objAtt.SaveAsFile = "Test1" Then
            saveFolder = "P:\Desktop\Reports\Test1"
        If objAtt.SaveAsFile = "Test2" Then
            saveFolder = "P:\Desktop\Reports\Test2"
        If objAtt.SaveAsFile = "Test3" Then
            saveFolder = "P:\Desktop\Reports\Test3"
        If objAtt.SaveAsFile = "Test4" Then
            saveFolder = "P:\Desktop\Reports\Test4"
        If objAtt.SaveAsFile = "Test5" Then
            saveFolder = "P:\Desktop\Reports\Test5"
          objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
          Set objAtt = Nothing
     Next
End Sub

它可能比它需要的更冗长,但我希望你能明白我想要做什么。

【问题讨论】:

  • 我不确定我是否理解这个问题。当您说“附件名称中的短语”时,您的意思是“FileNamedTest1.ext”应该匹配“Test1”吗?如果是这种情况,您可以将= "Test1" 替换为Like "*Test1*"

标签: vba outlook


【解决方案1】:

Instr 将指示该短语是否在显示名称中。

Private Sub saveAttachtoDisk(itm As mailItem)

    Dim objAtt As attachment
    Dim saveFolder As String

    For Each objAtt In itm.Attachments

        saveFolder = ""
        Debug.Print objAtt.DisplayName

        If InStr(LCase(objAtt.DisplayName), LCase("Test1")) > 0 Then
            saveFolder = "P:\Desktop\Reports\Test1"
        End If

        If InStr(LCase(objAtt.DisplayName), LCase("Test2")) > 0 Then
            saveFolder = "P:\Desktop\Reports\Test2"
        End If

        ' ....

        If saveFolder <> "" Then
            objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
        Else
            MsgBox "No match. " & objAtt.DisplayName & " not saved."
        End If
    Next

    If objAtt Is Nothing Then
         Debug.Print "objAtt is already Nothing."
    Else
        MsgBox "Somehow objAtt was not nothing."
        Set objAtt = Nothing
    End If

End Sub

【讨论】:

    猜你喜欢
    • 2020-10-22
    • 2021-10-29
    • 1970-01-01
    • 2021-06-13
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 2012-02-18
    • 2011-07-08
    相关资源
    最近更新 更多