Se você deseja alterar rapidamente todas as imagens incorporadas no corpo da mensagem para anexos de e-mail, não é necessário remover e anexar manualmente. Você pode apenas usar o trecho de código VBA exposto neste artigo.
Às vezes, você pode querer transformar em lote todas as imagens incorporadas em anexos. Por exemplo, muitas imagens no corpo da mensagem interromperão a leitura dos textos no corpo. Portanto, você deseja removê-los do corpo do e-mail e adicioná-los como anexos. Claro, você pode fazer isso manualmente. Mas deve ser mais prático se alguma ferramenta ou código VBA puder fazer isso de uma só vez. Aqui vamos revelar esse código VBA para você.

Converta rapidamente todas as imagens incorporadas em anexos
- Primeiramente, inicie o programa Outlook.
- Em seguida, você pode alternar para a guia “Desenvolvedor” e clicar no botão “Visual Basic”.
- Em seguida, você entrará na janela do editor VBA do Outlook.
- Posteriormente, você precisa copiar o seguinte código VBA em um módulo em branco.
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
- Depois disso, você deve confirmar se o Outlook está configurado para permitir macros.
- Opcionalmente, se você precisar disso com frequência, é melhor adicionar a nova macro à Barra de Ferramentas de Acesso Rápido para futura verificação conveniente.
- Eventualmente, você pode tentar. Selecione ou abra um e-mail e execute a macro clicando no botão nova macro na barra de ferramentas de acesso rápido.
- Imediatamente, todas as imagens incorporadas serão alteradas para anexos conforme a captura de tela a seguir:
Truques para proteger seus valiosos dados do Outlook
Como todos sabemos, o arquivo PST do Outlook é o mesmo vulnerável que arquivos comuns, como documentos do Word ou planilhas do Excel. Portanto, você deve ficar atento a todos os riscos em torno de seu arquivo PST, como vírus ou manuseio inadequado. Portanto, você precisa fazer backups de dados regulares para o seu arquivo PST. Além disso, se você puder pagar, é aconselhável manter um robusto Reparo do Outlook ferramenta útil, como DataNumen Outlook Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperar mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

