Dacă doriți să schimbați rapid toate imaginile încorporate în corpul mesajului în atașamente de e-mail, nu este necesar să eliminați și să atașați din nou manual. Puteți utiliza doar fragmentul de cod VBA expus în acest articol.
Uneori, este posibil să doriți să transformați toate imaginile încorporate în atașamente. De exemplu, prea multe imagini în corpul mesajului vă vor întrerupe citirea textelor din corpul mesajului. Prin urmare, doriți să le eliminați din corpul e-mailului și să le adăugați ca atașamente. Desigur, puteți face acest lucru manual. Dar trebuie să fie mai util dacă orice instrumente sau coduri VBA pot obține acest lucru dintr-o singură mișcare. Aici vă vom dezvălui un astfel de cod VBA.
Convertiți rapid toate imaginile încorporate în atașamente
- În primul rând, porniți programul Outlook.
- Apoi puteți trece la fila „Dezvoltator” și apăsați butonul „Visual Basic”.
- Apoi veți intra în fereastra editorului Outlook VBA.
- Ulterior, trebuie să copiați următorul cod VBA într-un modul gol.
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
- După aceea, ar trebui să confirmați că Outlook este setat să permită macrocomenzi.
- Opțional, dacă aveți nevoie frecvent de acest lucru, ar fi bine să adăugați noua macrocomandă la Bara de instrumente Acces rapid pentru o verificare convenabilă în viitor.
- În cele din urmă poți încerca. Selectați sau deschideți un e-mail și apoi executați macrocomandă făcând clic pe butonul macrocomenzi nou din Bara de instrumente Acces rapid.
- Imediat, toate imaginile încorporate vor fi modificate în atașamente, după cum urmează:
Trucuri pentru protejarea datelor dvs. valoroase din Outlook
După cum știm cu toții, fișierul Outlook PST este la fel de vulnerabil ca fișierele obișnuite, cum ar fi documentele Word sau foile de calcul Excel. Prin urmare, ar trebui să fiți atenți la toate riscurile legate de fișierul dvs. PST, cum ar fi viruși sau manipulări necorespunzătoare. Prin urmare, trebuie să faceți copii de rezervă regulate pentru fișierul dvs. PST. De asemenea, dacă vă puteți permite, este înțelept să păstrați un robust Repararea Outlook instrument la îndemână, cum ar fi DataNumen Outlook Repair.
Introducerea autorului:
Shirley Zhang este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv recupera mdf și produse software de reparații Outlook. Pentru mai multe informații vizitați www.datanumen.com


