Jos haluat nopeasti muuttaa kaikki viestitekstiin upotetut kuvat sähköpostin liitteiksi, sinun ei tarvitse poistaa ja liittää uudelleen manuaalisesti. Voit käyttää vain tässä artikkelissa paljastettua VBA-koodin osaa.
Joskus voit halutessasi muuttaa kaikki upotetut kuvat liitteiksi. Esimerkiksi liian monta kuvaa viestin rungossa keskeyttää tekstin lukemisen. Siksi haluat poistaa ne sähköpostin rungosta ja lisätä ne sen sijaan liitteiksi. Voit tietysti tehdä tämän manuaalisesti. Mutta sen on oltava kätevämpää, jos työkalut tai VBA-koodit voivat saada tämän yhdellä kertaa. Täällä paljastamme sinulle tällaisen VBA-koodin.

Muunna kaikki upotetut kuvat nopeasti liitteiksi
- Käynnistä ensin Outlook-ohjelmasi.
- Sitten voit siirtyä "Kehittäjä"-välilehdelle ja painaa "Visual Basic" -painiketta.
- Seuraavaksi pääset Outlook VBA -editori-ikkunaan.
- Myöhemmin sinun on kopioitava seuraava VBA-koodi tyhjään moduuliin.
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
- Tämän jälkeen sinun tulee vahvistaa, että Outlook on asetettu sallimaan makrot.
- Valinnaisesti, jos tarvitset tätä usein, sinun on parempi lisätä uusi makro Quick Access Toolbariin myöhempää kätevää tarkistusta varten.
- Lopulta voit kokeilla. Valitse tai avaa sähköposti ja suorita sitten makro napsauttamalla pikatyökalupalkin uusi makro -painiketta.
- Kaikki upotetut kuvat muutetaan välittömästi liitteiksi seuraavan kuvakaappauksen mukaisesti:
Temppuja arvokkaiden Outlook-tietojesi suojaamiseen
Kuten kaikki tiedämme, Outlookin PST-tiedosto on sama haavoittuvainen kuin tavalliset tiedostot, kuten Word-asiakirjat tai Excel-laskentataulukot. Siksi sinun tulee pitää silmällä kaikkia PST-tiedostoosi liittyviä riskejä, kuten viruksia tai virheellistä käsittelyä. Joten sinun täytyy tehdä säännöllisesti varmuuskopioita PST-tiedostostasi. Lisäksi, jos sinulla on siihen varaa, on viisasta pitää tukeva Outlookin korjaus työkalu kätevä, kuten DataNumen Outlook Repair.
Tekijän esittely:
Shirley Zhang on tietojen palauttamisen asiantuntija DataNumen, Inc., joka on maailman johtava tietojen palautustekniikoissa, mukaan lukien palauta mdf ja Outlookin korjausohjelmistotuotteet. Lisätietoja osoitteessa www.datanumen.com

