Outlook 2019 вложение - PullRequest
       11

Outlook 2019 вложение

0 голосов
/ 22 апреля 2020

Я хочу знать, возможно ли это в Outlook 2019 / Office 365?

Моя цель - найти решение для следующего

  1. Сохранить вложения из Входящие в C: папка \ temp на диске C

  2. Удалить данные сообщения из папки входящих и удалить сообщение из папки входящих

I думаю, чтобы это работало, понадобится скрипт и правило внешнего вида, чтобы позаботиться. Спасибо, если кто-нибудь может мне помочь.

Спасибо

RL

1 Ответ

0 голосов
/ 22 апреля 2020

Вы можете использовать метод SaveAs класса MailItem, который сохраняет элемент Microsoft Outlook по указанному пути и в формате указанного типа файла. Если тип файла не указан, используется формат MSG (.msg).

Для обработки всех входящих элементов необходимо подписаться на событие NewMailEx, которое срабатывает при поступлении нового сообщения в папку «Входящие» и до обработки правил клиента. Вы можете использовать идентификатор записи, возвращенный в массиве EntryIDCollection, чтобы вызвать метод NameSpace.GetItemFromID и обработать элемент. Это событие запускается один раз для каждого полученного элемента, который обрабатывается Microsoft Outlook. Элемент может быть одним из нескольких различных типов элементов, например, MailItem, MeetingItem или SharingItem. Строка EntryIDsCollection содержит идентификатор записи, соответствующий этому элементу.

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

Подробнее об этом см. В Автоматическая загрузка вложений Outlook в папку с VBA и статья article.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...