Сохранение вложения сообщения из Outlook и изменение имени файла на основе информации внутри сообщения - PullRequest
1 голос
/ 05 марта 2020

Я получаю набор писем каждый день с приложением сообщения. Что мне нужно сделать, это:

  1. Открыть файл msg и извлечь имя отправителя и время получения сообщения;
  2. Сохранить вложение сообщения MSG с именем файла, например, ReceivedTime (ddmmyyyy) _SenderName_AttachmentName

Мой прогресс:

  • У меня есть код (спасибо гениям здесь), чтобы найти электронную почту Outlook и сохранить вложение в папке назначения. ;

  • Я застрял в шаге 2 выше ... Не знаю, как извлечь информацию из вложенного сообщения MSG

Может кто-нибудь помочь?

Код, как показано ниже:

Sub SaveOlAttach_Email()

Application.DisplayAlerts = False
Application.AskToUpdateLinks = False
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False

  Dim isAttachment As Boolean
  Dim olFolder As Outlook.MAPIFolder
  Dim msg As Outlook.MailItem
  Dim att As Outlook.Attachment
  Dim fsSaveFolder, sSavePathFS, ssender As String


  fsSaveFolder = "C:\Users\xxx"
  isAttachment = False
  Set olFolder = Outlook.GetNamespace("MAPI").Folders("yyy")
  Set olFolder = olFolder.Folders("Inbox")
  If olFolder Is Nothing Then Exit Sub

  For Each msg In olFolder.Items
    If msg.Subject = "zzz" Then
                    If msg.Attachments.Count > 0 Then
          While msg.Attachments.Count > 0

            sSavePathFS = fsSaveFolder & Format(olFolder.Items(1).ReceivedTime, "yyyymmdd") & ".msg"
            msg.Attachments(1).SaveAsFile sSavePathFS

            msg.Attachments(1).Delete

            isAttachment = True

          Wend
          msg.Delete
        End If
    End If
  Next

Application.DisplayAlerts = True
Application.AskToUpdateLinks = True
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True


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