如何从分配给特定类别的传入电子邮件中下载附件并在下载后更改类别?

时间:2019-09-26 07:58:16

标签: vba outlook outlook-vba

我创建了一个宏,用于从分配给特定类别的电子邮件中下载附件,并将电子邮件分配给其他类别。

我使用规则对具有特定主题行的电子邮件进行了分类,并将宏附加到规则中,以下载分配给该类别的附件。然后,宏将这些电子邮件重新分配到其他类别。

Public Sub SaveNewInvoices(oItem As Outlook.Item)

Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
Dim cats() As String
Dim i As Integer

sSaveFolder = "D:\Users\fakathuria\Desktop\Invoices_Prepared\"

cats = Split(oItem.Categories, ";")

    For i = 0 To UBound(cats)

        If LCase$(cats(i)) = LCase$(Invoice_To_Be_Downloaded) Then

            For Each oAttachment In oItem.Attachments
                oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
                oItem.Categories = "Invoice_Downloaded"
            Next

        EndIf

    Next

End Sub

我希望将附件下载到指定的文件夹中。但是,附件不会保存在指定的文件夹中,并且类别不会更改。

1 个答案:

答案 0 :(得分:0)

Outlook.Item ...从未听说过。一切似乎都应该使用Outlook.MailItem

如果您在其他子目录中使用Outlook.Items,然后在传递Outlook.Items(index)时调用它,则容易理解混乱之处