Hvordan automatisk trekke ut innebygde bilder fra spesifikke innkommende e-poster via Outlook VBA

Hvis du vil at Outlook automatisk skal trekke ut og lagre de innebygde bildene fra de spesifikke innkommende e-postene, kan du referere til denne artikkelen. Her vil vi lære deg hvordan du kan realisere det med VBA-kode.

Noen brukere trenger ofte å trekke ut de innebygde bildene fra de spesifikke innkommende e-postene og lagre dem i en bestemt Windows-mappe. Det er så plagsomt å gjøre det manuelt hver gang. Derfor ser mange frem til å lære en rask og praktisk tilnærming for å la Outlook auto klare det. Nå, her vil vi dele en slik metode med deg.

Trekk ut innebygde bilder automatisk fra spesifikke innkommende e-poster

  1. Start først Outlook-programmet som vanlig.
  2. Deretter, utløs Outlook VBA-editor som vanlig med referanse t "Hvordan kjøre VBA-kode i Outlook".
  3. Senere kopierer og limer du inn følgende VBA-kode i "ThisOutlookSession" -prosjektet.
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-kode - Pakk automatisk ut innebygde bilder fra spesifikke innkommende e-poster

  1. Deretter klikker du på underrutinen «Application_Startup».
  2. Til slutt klikker du på "F5"-tasten for å utløse denne makroen.
  3. Fra nå av, hver gang når en bestemt ny e-post kommer i innboksen, vil de innebygde bildene bli lagret i den spesifikke Windows-mappen, som vist i følgende skjermbilde.Utpakkede bilder i Windows-mappe

Rydd opp store vedlegg regelmessig

Det anbefales å rydde opp i store vedlegg fra Outlook regelmessig. Dette tar sikte på å holde Outlook-filen i riktig størrelse. Større Outlook-filer er mer utsatt for korrupsjon. Som du vet, er PST-skade ganske vanskelig å håndtere. Kanskje du først bør prøve å fikse det med et reparasjonsverktøy for innboksen. I de fleste tilfeller vil det imidlertid ikke fungere. Din eneste utvei er en spesialisert PST reparasjon verktøy, som DataNumen Outlook Repair, eller relevante profesjonelle gjenopprettingstjenester.

Forfatterintroduksjon:

Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert mdf-fiks og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med

Kommentarer er stengt.