Как да извлечете автоматично вградени изображения от конкретни входящи имейли чрез Outlook VBA

Споделете сега:

Ако искате Outlook автоматично да извлича и запазва вградените изображения от конкретните входящи имейли, можете да се обърнете към тази статия. Тук ще ви научим как да го реализирате с VBA код.

Някои потребители често трябва да извлекат вградените изображения от конкретните входящи имейли и да ги запишат в определена папка на Windows. Толкова е обезпокоително да правите това ръчно всеки път. Затова мнозина се радват да научат бърз и удобен подход, който да позволи на Outlook автоматично да постигне това. Сега, тук ще споделим такъв метод с вас.

Автоматично извличане на вградени изображения от конкретни входящи имейли

  1. Първо, стартирайте програмата си Outlook, както обикновено.
  2. След това задействайте редактора на Outlook VBA както обикновено с препратка t “Как да стартирате VBA код във вашия Outlook".
  3. По-късно копирайте и поставете следния VBA код в проекта “ThisOutlookSession”.
Public WithEvents objInbox As Outlook.Folder
Public WithEvents objInboxItems As Outlook.Items

Private Sub Application_Startup()
    Set objInbox = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
    Set objInboxItems = objInbox.Items
End Sub

Private Sub objInboxItems_ItemAdd(ByVal Item As Object)
    Dim objMail As Outlook.MailItem
    Dim objAttachments As Outlook.Attachments
    Dim objAttachment As Outlook.Attachment
    Dim strWindowsFolder As String
    Dim i As Long
 
    If TypeOf Item Is MailItem Then
       Set objMail = Item
 
       'Specify the emails as per your needs
       If objMail.Importance = olImportanceHigh Then
          Set objAttachments = objMail.Attachments
 
          'Specify the windows folder
          strWindowsFolder = "E:\" & objMail.Subject & Format(Now, "yymmddhhmmss")
          MkDir (strWindowsFolder)
 
          'Save all embedded images to the folder
          For i = 1 To objAttachments.Count
              Set objAttachment = objAttachments.Item(i)
              If IsEmbedded(objAttachment) = True Then
                 objAttachment.SaveAsFile strWindowsFolder & "\" & objAttachment.FileName
              End If
          Next
      End If
    End If
End Sub

Function IsEmbedded(objCurAttachment As Outlook.Attachment) As Boolean
    Dim objPropertyAccessor As Outlook.PropertyAccessor
    Dim strProperty As String
 
    Set objPropertyAccessor = objCurAttachment.PropertyAccessor
    strProperty = objPropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E")
 
    If InStr(1, strProperty, "@") > 0 Then
       IsEmbedded = True
    Else
       IsEmbedded = False
    End If
End Function

VBA код - Автоматично извличане на вградени изображения от конкретни входящи имейли

  1. След това щракнете върху подпрограмата „Application_Startup“.
  2. Накрая щракнете върху бутона „F5“, за да задействате този макрос.
  3. Отсега нататък всеки път, когато конкретен нов имейл пристигне във входящата поща, вградените изображения ще се запазват в конкретната папка на Windows, както е показано на следващата екранна снимка.Извлечени изображения в папка на Windows

Почиствайте редовно големите приставки

Препоръчително е редовно да почиствате големи прикачени файлове от вашия Outlook. Това е с цел да поддържате файла си в подходящ размер. По-големите файлове в Outlook са по-податливи на повреда. Както знаете, повредите в PST файловете са доста трудни за справяне. Може би първо ще се опитате да ги поправите чрез инструмент за поправка на входяща поща. В повечето случаи обаче това няма да проработи. Единствената ви възможност е специализиран инструмент. PST ремонт инструмент, като DataNumen Outlook Repairили съответните професионални услуги за възстановяване.

Въведение на автора:

Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително mdf корекция и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com

Споделете сега:

Коментарите са забранени.