Ingesloten afbeeldingen automatisch extraheren van specifieke inkomende e-mails via Outlook VBA

Als u wilt dat Outlook de ingesloten afbeeldingen automatisch uit de specifieke inkomende e-mails extraheert en opslaat, kunt u dit artikel raadplegen. Hier zullen we je leren hoe je het kunt realiseren met VBA-code.

Sommige gebruikers moeten de ingesloten afbeeldingen vaak uit de specifieke inkomende e-mails extraheren en deze in een bepaalde Windows-map opslaan. Het is zo lastig om dat elke keer handmatig te doen. Daarom kijken velen ernaar uit om een ​​snelle en gemakkelijke benadering te leren om Outlook dit automatisch te laten doen. Nu, hier zullen we zo'n methode met u delen.

Ingesloten afbeeldingen automatisch extraheren uit specifieke inkomende e-mails

  1. Start eerst uw Outlook-programma zoals gewoonlijk.
  2. Activeer vervolgens de Outlook VBA-editor zoals gewoonlijk met referentie t "Hoe u VBA-code in uw Outlook uitvoert'.
  3. Kopieer en plak later de volgende VBA-code in het project "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-code - Ingesloten afbeeldingen automatisch extraheren uit specifieke inkomende e-mails

  1. Klik daarna op de subroutine "Application_Startup".
  2. Klik ten slotte op de toets "F5" om deze macro te activeren.
  3. Vanaf nu, elke keer dat een specifieke nieuwe e-mail binnenkomt in de Inbox, worden de ingesloten afbeeldingen opgeslagen in de specifieke Windows-map, zoals weergegeven in de volgende schermafbeelding.Geëxtraheerde afbeeldingen in de Windows-map

Maak grote bijlagen regelmatig schoon

Het is raadzaam om regelmatig grote bijlagen uit uw Outlook te verwijderen. Dit zorgt ervoor dat uw Outlook-bestand een gepaste grootte behoudt. Grotere Outlook-bestanden zijn namelijk gevoeliger voor beschadiging. Zoals u weet, is een beschadigd PST-bestand lastig te herstellen. U zult wellicht eerst proberen het te repareren met een tool voor het herstellen van de inbox. In de meeste gevallen werkt dit echter niet. Uw enige optie is dan een gespecialiseerd programma. PST-reparatie tool, zoals DataNumen Outlook Repair, of relevante professionele herstelservices.

Auteur Introductie:

Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder mdf-oplossing en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com

Reacties zijn gesloten.