Às vezes, ao encaminhar um e-mail que contém vários anexos, você pode querer renomear os anexos diretamente ao encaminhar. Este artigo ensinará como fazer isso com o Outlook VBA.
Por padrão, o Outlook não permite que o usuário renomeie anexos ao encaminhar. Portanto, se você quiser renomeá-los, a única maneira é primeiro salvar os arquivos em uma pasta local em seu computador, renomeá-los e, em seguida, anexá-los novamente ao e-mail de encaminhamento. Obviamente, este método é consideravelmente problemático. Além disso, às vezes, esses arquivos podem não ser essenciais para você, então você realmente não quer salvá-los em seu computador. Nessa situação, você deve esperar por um método mais rápido que permita renomear os arquivos anexados diretamente nos e-mails de encaminhamento. O seguinte é uma abordagem para realizá-lo através do Outlook VBA.
Renomeie os anexos ao encaminhar um e-mail
- Em primeiro lugar, inicie o Outlook e vá para a guia “Desenvolvedor”.
- Em seguida, localize e clique no botão “Visual Basic”.
- Depois disso, na nova janela pop-up, abra um novo módulo selecionando “Inserir” > “Módulo”.
- Posteriormente, você deve copiar e colar os seguintes códigos VBA nele.
Sub RenameAttachmentsWhenForwarding()
Dim olItem As MailItem
Dim Att As Attachment
Dim Atts As Attachments
Dim olForward As MailItem
Dim FWAtt As Attachment
Dim FWAtts As Attachments
Dim FSO As Object
Dim TempFPath As Object
Dim FilePath As String
Dim strName As String
Dim strExten As String
Dim strFile As String
Set olItem = Application.ActiveExplorer.Selection.Item(1)
Set Atts = olItem.Attachments
Set olForward = olItem.Forward
olForward.Display
On Error Resume Next
For Each Att In Atts
'Get the path to Temporary Folder
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TempFPath = FSO.GetSpecialFolder(2)
FilePath = TempFPath.Path & "\"
'Rename the attachments
strName = InputBox("Enter a new name for" & vbCrLf & Att.FileName)
'Change "4" based on the length of the attachment file extension
strExten = Right(Att.FileName, 4)
strFile = FilePath & strName & "." & strExten
If strName <> "" Then
'Save the attachments to the Temporary Folder
Att.SaveAsFile (strFile)
'Add the attachments saved in new names from the Temporary Folder
olForward.Attachments.Add (strFile)
Set FWAtts = olForward.Attachments
'Remove the original attachments
For Each FWAtt In FWAtts
If InStr(FWAtt.FileName, Att.FileName) > 0 Then
FWAtt.Delete
End If
Next
End If
Next
End Sub
- Depois disso, você pode sair da janela atual do “Visual Basic” e adicionar a nova macro à Barra de Ferramentas de Acesso Rápido como de costume.
- Finalmente você pode tentar.
- Em primeiro lugar, selecione um e-mail e clique no botão nova macro na barra de ferramentas de acesso rápido.
- Em seguida, um novo e-mail de encaminhamento será aberto. Você pode ver os arquivos anexados com os nomes originais na linha “Anexado” e também receber uma caixa de diálogo que exige que você insira um novo nome para um anexo específico.
- Após especificar novos nomes para todos os arquivos e clicar em “OK”, você verá que todos os arquivos anexados estão com os novos nomes.
- Eventualmente, você pode compor os e-mails de encaminhamento e clicar no botão “Enviar” para enviar a mensagem.
Fique alerta para todas as ameaças potenciais ao seu Outlook
É reconhecido que o Outlook é suscetível à corrupção. Portanto, é uma tarefa demorada proteger os dados do Outlook contra todas as ameaças, incluindo infecção por vírus, ataque de malware e Danos aos dados do Outlook PST, etc. A ação mais importante é fazer backups regulares dos seus dados do Outlook. Além disso, é prudente manter por perto uma ferramenta de reparo de alta qualidade, como DataNumen Outlook Repair, que será útil.
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 consertar mdf danificado e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com




