Muitos usuários esperam que o Outlook possa selecionar automaticamente as diferentes assinaturas para diferentes destinatários nos emails. Assim, este artigo ensinará como realizá-lo via VBA.
Por padrão, o Outlook permite apenas que você insira automaticamente a assinatura variável em novos e-mails, respostas e encaminhamentos. No entanto, muitas pessoas até esperam que o Outlook possa selecionar automaticamente as diferentes assinaturas para vários destinatários. Infelizmente, o Outlook não fornece um recurso tão direto. Assim, você deve buscar outras formas, como quaisquer suplementos de terceiros ou código VBA. Agora, a seguir, revelaremos um pedaço de código VBA para você, que pode ajudá-lo a realizá-lo como uma brisa.

Seleção Automática de Assinaturas Diferentes para Destinatários Diferentes
- Para começar, você deve abrir o programa Outlook.
- Então é melhor desativar o recurso de inserção automática de assinatura.
- Em primeiro lugar, vá ao menu “Arquivo” e selecione “Opções”.
- Na janela “Opções do Outlook”, mude para a guia “Correio”.
- Em seguida, localize e clique no botão “Assinaturas”.
- Em seguida, na caixa de diálogo pop-up, defina “(nenhum)” em “Novas mensagens” e “Respostas/encaminhamentos”.
- Depois disso, clique em uma série de “OK” para salvar as alterações.
- Depois disso, você pode voltar para a janela principal do Outlook e pressionar as teclas “Alt + F11”.
- Em seguida, na janela “Microsoft Visual Basic for Applications”, localize e abra o projeto “ThisOutlookSession”.
- Posteriormente, copie e cole o seguinte código VBA neste projeto.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objMail As Outlook.MailItem
Dim objRecipients As Outlook.Recipients
Dim objRecipient As Outlook.recipient
Dim strRecipientAddress As String
Dim strSignatureFile As String
Dim objFileSystem As Object
Dim objTextStream As Object
Dim strSignature As String
If TypeOf Item Is MailItem Then
Set objMail = Item
Set objRecipients = objMail.Recipients
End If
'Select different signature files based on recipients
'You can change the conditions as per you actual needs
If objRecipients.Count = 1 Then
Set objRecipient = objRecipients.Item(1)
strRecipientAddress = objRecipient.Address
If strRecipientAddress = "mandy@datanumen.com" Then
strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\Test John Smith.htm"
ElseIf strRecipientAddress = "anne@datanumen.com" Or strRecipientAddress = "tony@datanumen.com" Then
strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\Johnny.htm"
ElseIf strRecipientAddress = "abby@datanumen.com" Then
strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\New John Smith.htm"
End If
Else
strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\John Smith.htm"
End If
'Read the specific signature file
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFileSystem.OpenTextFile(strSignatureFile)
strSignature = objTextStream.ReadAll
'Insert the signature to this email
objMail.HTMLBody = objMail.HTMLBody & "<HTML><BODY><br>" & strSignature & "</br></HTML></BODY>"
End Sub
- Depois disso, você deve assinar este código.
- Posteriormente, altere as configurações de macro do Outlook para permitir macros assinadas.
- A partir de agora, toda vez que você clicar no botão “Enviar” para enviar um e-mail, o Outlook identificará o destinatário e inserirá automaticamente a assinatura correspondente no final do corpo do e-mail.
Fique atento a macros maliciosas ocultas em e-mails recebidos
Hoje em dia, os vírus tornaram-se muito maduros e poderosos. Eles sempre os disfarçam como coisas inócuas no e-mail. Portanto, agora que você pretende utilizar macros no Outlook, deve aumentar sua vigilância contra as macros maliciosas. Caso contrário, seus dados PST serão mantidos em risco. Se o PST for corrompido, você fará o possível para recuperar PST dados. Neste caso, sugere-se a aplicação de uma ferramenta potente, 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 correção de sql e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

