Hur man automatiskt extraherar inbäddade bilder från specifika inkommande e-post via Outlook VBA

Om du vill att Outlook automatiskt extraherar och sparar de inbäddade bilderna från specifika inkommande e-postmeddelanden kan du hänvisa till den här artikeln. Här lär vi dig hur du kan förverkliga det med VBA-kod.

Vissa användare behöver ofta extrahera de inbäddade bilderna från specifika inkommande e-postmeddelanden och spara dem i en viss Windows-mapp. Det är så besvärligt att göra det manuellt varje gång. Därför ser många fram emot att lära sig ett snabbt och bekvämt sätt att låta Outlook automatiskt åstadkomma det. Nu, här kommer vi att dela en sådan metod med dig.

Extrahera automatiskt inbäddade bilder från specifika inkommande e-postmeddelanden

  1. Starta först ditt Outlook-program som vanligt.
  2. Starta sedan Outlook VBA-redigeraren som vanligt med referens t “Hur du kör VBA-kod i din Outlook".
  3. Senare, kopiera och klistra in följande VBA-kod i projektet "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-kod - Extrahera automatiskt inbäddade bilder från specifika inkommande e-postmeddelanden

  1. Klicka sedan på underrutinen "Application_Startup".
  2. Klicka slutligen på “F5” -tangenten för att utlösa detta makro.
  3. Från och med nu, varje gång när ett specifikt nytt e-postmeddelande kommer till inkorgen, sparas de inbäddade bilderna i den specifika Windows-mappen, som visas i följande skärmdump.Extraherade bilder i Windows-mapp

Städa upp stora redskap regelbundet

Det är lämpligt att regelbundet rensa bort stora bilagor från din Outlook. Syftet är att hålla din Outlook-fil i lämplig storlek. Större Outlook-filer är mer mottagliga för korruption. Som du vet är PST-skador ganska svåra att hantera på rätt sätt. Du kanske först försöker fixa dem med hjälp av ett reparationsverktyg för inkorgen. Men i de flesta fall fungerar det inte. Din enda utväg är en specialiserad PST-reparation verktyg, som DataNumen Outlook Repaireller relevanta professionella återvinningstjänster.

Författarintroduktion:

Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive MDF-fix och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

Kommentarer är stängda.