Se desideri modificare rapidamente tutte le immagini incorporate nel corpo del messaggio in allegati di posta elettronica, non è necessario rimuoverle e ricollegarle manualmente. Puoi semplicemente usare il pezzo di codice VBA esposto in questo articolo.
A volte, potresti voler trasformare in batch tutte le immagini incorporate in allegati. Ad esempio, troppe immagini nel corpo del messaggio interromperanno la lettura dei testi nel corpo. Pertanto, si desidera rimuoverli dal corpo dell'e-mail e aggiungerli invece come allegati. Certo, puoi farlo manualmente. Ma deve essere più pratico se qualsiasi strumento o codice VBA può ottenerlo in una volta sola. Qui ti sveleremo un tale codice VBA.
Converti rapidamente tutte le immagini incorporate in allegati
- Innanzitutto, avvia il programma Outlook.
- Quindi puoi passare alla scheda "Sviluppatore" e premere il pulsante "Visual Basic".
- Successivamente entrerai nella finestra dell'editor VBA di Outlook.
- Successivamente, è necessario copiare il seguente codice VBA in un modulo vuoto.
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
- Successivamente, dovresti confermare che Outlook è impostato per consentire le macro.
- Facoltativamente, se lo richiedi frequentemente, è meglio aggiungere la nuova macro alla barra degli strumenti di accesso rapido per un comodo controllo futuro.
- Alla fine puoi provare. Seleziona o apri un messaggio di posta elettronica, quindi esegui la macro facendo clic sul pulsante della nuova macro nella barra di accesso rapido.
- Immediatamente, tutte le immagini incorporate verranno modificate in allegati come nella seguente schermata:
Trucchi per proteggere i tuoi preziosi dati di Outlook
Come tutti sappiamo, il file PST di Outlook è lo stesso vulnerabile dei file comuni, come documenti Word o fogli di calcolo Excel. Pertanto, dovresti continuare a fare attenzione a tutti i rischi relativi al tuo file PST, come virus o manipolazioni improprie. Quindi è necessario eseguire backup regolari dei dati per il file PST. Inoltre, se te lo puoi permettere, è saggio mantenerne uno robusto Riparazione di Outlook strumento a portata di mano, come DataNumen Outlook Repair.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui recuperare mdf e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com


