Om du snabbt vill ändra alla bilder som är inbäddade i meddelandetexten till e-postbilagor, behöver du inte ta bort och bifoga manuellt. Du kan bara använda den del av VBA-koden som exponeras i den här artikeln.
Ibland kanske du vill gruppera alla inbäddade bilder till bilagor. Till exempel kommer för många bilder i meddelandekroppen att störa din läsning av texterna i kroppen. Därför vill du ta bort dem från e-postadressen och lägga till dem som bilagor istället. Naturligtvis kan du göra det manuellt. Men det måste vara snyggare om några verktyg eller VBA-koder kan få det på en gång. Här kommer vi att avslöja en sådan VBA-kod för dig.

Konvertera snabbt alla inbäddade bilder till bilagor
- Först och främst, starta ditt Outlook-program.
- Sedan kan du växla till fliken "Utvecklare" och klicka på "Visual Basic" -knappen.
- Därefter kommer du till Outlook VBA-redigeringsfönstret.
- Därefter måste du kopiera följande VBA-kod till en tom modul.
Sub TurnEmebeddedImagestoAttachments()
Dim objMail As Outlook.MailItem
Dim objAttachments As Outlook.attachments
Dim objAttachment As Outlook.Attachment
Dim objFileSystem As Object
Dim strTempFolder As String
Dim strFile As String
Dim i As Long
Select Case Outlook.Application.ActiveWindow.Class
Case olInspector
Set objMail = ActiveInspector.CurrentItem
Case olExplorer
Set objMail = Application.ActiveExplorer.Selection.Item(1)
End Select
Set objAttachments = objMail.attachments
'Create a temp folder
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp " & Format(Now, "YYYY-MM-DD hh-mm-ss")
MkDir (strTempFolder)
'Save all embedded images to temp folder
For i = objAttachments.Count To 1 Step -1
Set objAttachment = objAttachments.Item(i)
If IsEmbedded(objAttachment) = True Then
objAttachment.SaveAsFile strTempFolder & "\" & objAttachment.FileName
End If
Next
'Add extracted images as attachments
strTempFolder = strTempFolder & "\"
strFile = Dir(strTempFolder)
While Len(strFile) > 0
objMail.attachments.Add (strTempFolder & strFile)
strFile = Dir
Wend
'Remove embedded images from message body
With objMail
.BodyFormat = olFormatPlain
End With
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
- Därefter bör du bekräfta att din Outlook är inställd på att tillåta makron.
- Alternativt, om du ofta behöver detta, skulle du bättre lägga till det nya makrot i snabbåtkomstverktygsfältet för framtida bekväm kontroll.
- Så småningom kan du prova. Välj eller öppna ett e-postmeddelande och kör sedan makrot genom att klicka på den nya makroknappen i snabbåtkomstverktygsfältet.
- Omedelbart ändras alla inbäddade bilder till bilagor som följande skärmdump:
Tricks för att skydda dina värdefulla Outlook-data
Som vi alla vet är Outlook PST-fil samma utsatta som vanliga filer, till exempel Word-dokument eller Excel-kalkylblad. Därför bör du hålla utkik efter alla risker kring din PST-fil, som virus eller felaktig hantering. Så du måste göra regelbundna säkerhetskopior av din PST-fil. Om du har råd med det är det också klokt att hålla en robust Outlook-reparation verktyg praktiskt, som DataNumen Outlook Repair.
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 återställa mdf och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

