【问题标题】:Outlook 2019 attachmentOutlook 2019 附件
【发布时间】:2020-04-23 03:41:08
【问题描述】:

我想知道,这在 Outlook 2019 /Office 365 中是否可行?

我的目标是找到以下问题的解决方案

  1. 将收件箱中的附件保存到 C 盘上的 C:\temp 文件夹

  2. 从收件箱中删除邮件详细信息并从收件箱中删除邮件

我想要使这项工作正常进行,需要一个脚本和 Outlook 规则来照顾。感谢,如果有人可以帮助我。

谢谢

强化学习

【问题讨论】:

    标签: outlook


    【解决方案1】:

    您可以使用 MailItem 类的SaveAs 方法将 Microsoft Outlook 项目保存到指定路径并以指定文件类型的格式保存。如果未指定文件类型,则使用 MSG 格式(.msg)。

    要处理所有传入的项目,您需要订阅NewMailEx 事件,该事件会在新邮件到达收件箱且发生客户端规则处理之前触发。您可以使用 EntryIDCollection 数组中返回的条目 ID 来调用 NameSpace.GetItemFromID 方法并处理该项目。对于 Microsoft Outlook 处理的每个收到的项目,此事件都会触发一次。该项目可以是几种不同的项目类型之一,例如 MailItem、MeetingItem 或 SharingItem。 EntryIDsCollection 字符串包含对应于该项目的条目 ID。

    Private Sub outApp_NewMailEx(ByVal EntryIDCollection As String)
        Dim mail As Object
        Dim oAttachment As Outlook.Attachment
    
        Set mail = Application.Session.GetItemFromID(EntryIDCollection )
    
        Dim sSaveFolder As String
        sSaveFolder = "C:\Temp"
        For Each oAttachment In mail.Attachments
           oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
        Next
    
    End Sub
    

    另一种方法是创建一个可以分配给规则的 VBA 子程序。示例 VBA 可能如下所示:

    Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
      Dim oAttachment As Outlook.Attachment
      Dim sSaveFolder As String
      sSaveFolder = "C:\Users\DT168\Documents\outlook-attachments\"
      For Each oAttachment In MItem.Attachments
        oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
      Next
    End Sub
    

    Automatically download Outlook attachments to folder with VBA and rule 文章中了解更多信息。

    【讨论】:

    • 感谢 Eugene,如果我使用上述以 Public 或 Private 开头的脚本 - 我无法在 Outlook 规则中选择脚本。
    • 如何,我在脚本中再添加几行,以便在附件保存后从收件箱中删除邮件?
    • 如果,我使用这个 - Outlook 规则可以看到脚本。
    • Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem) Dim oAttachment As Outlook.Attachment Dim sSaveFolder As String sSaveFolder = "C:\Temp\" For Each oAttachment in MItem.Attachments oAttachment.SaveAsFile sSaveFolder & oAttachment。 DisplayName Next End Sub
    • 在这种情况下您可以看到SaveAttachmentsToDisk 子。要在附件保存到磁盘后立即删除邮件,您可以使用Delete 方法。
    猜你喜欢
    • 2020-08-16
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多