Como adicionar assinaturas diferentes a várias contas de e-mail ao responder ou encaminhar no Outlook?
No tutorial: Assinaturas de E-mail no Outlook, você deve saber como criar uma assinatura no Outlook. No entanto, após criar uma nova assinatura, será necessário adicioná-la manualmente se quiser incluí-la ao responder ou encaminhar uma mensagem selecionando Assinatura > A assinatura criada na janela da mensagem.
Claro, você pode configurar o Outlook para adicionar automaticamente uma assinatura quando você responde ou encaminha uma nova mensagem clicando em Assinatura > Assinaturas e selecionando uma assinatura para uma conta de e-mail específica conforme mostrado abaixo.

No entanto, e se você tiver várias contas de e-mail e quiser adicionar assinaturas diferentes para suas várias contas em lote? Neste tutorial, vou apresentar um método VBA para ajudá-lo a realizar essa tarefa facilmente.
Adicione assinaturas diferentes a várias contas de e-mail ao responder ou encaminhar no Outlook
1. No seu Outlook, pressione as teclas Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Na janela Microsoft Visual Basic for Applications, clique duas vezes em ThisOutlookSession no painel Projeto e copie o código VBA abaixo para a janela ThisOutlookSession (Código). Veja a captura de tela:

Código VBA: Adicionar assinaturas diferentes a várias contas de e-mail ao criar um novo e-mail no Outlook - ThisOutlookSession
Public WithEvents GInspectors As Inspectors
Public WithEvents GExplorer As Explorer
Private Sub Application_Startup()
Set GInspectors = Application.Inspectors
Set GExplorer = Application.ActiveExplorer
End Sub
Private Sub GExplorer_InlineResponse(ByVal Item As Object)
‘Update by ExtendOffice
Dim xMail As MailItem
On Error Resume Next
EndTimer
If Item.Class = olMail Then
Set xMail = Item
Set GInspector = Nothing
Set GInspector = xMail.GetInspector
StartTimer
End If
End Sub
Private Sub GInspectors_NewInspector(ByVal Inspector As Inspector)
On Error Resume Next
EndTimer
Set GInspector = Nothing
Set GInspector = Inspector
StartTimer
End Sub
3. Na janela Microsoft Visual Basic for Applications, clique em Inserir > Módulo. Em seguida, copie o seguinte código VBA para a janela Módulo.

Código VBA: Adicionar assinaturas diferentes a várias contas de e-mail ao responder ou encaminhar no Outlook - Módulo
Public Declare PtrSafe Function SetTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As Long
Public Declare PtrSafe Function KillTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
Public TimerID As Long
Public GInspector As Inspector
Sub StartTimer()
On Error Resume Next
TimerID = SetTimer(0&, 0&, 1000&, AddressOf TimerProc)
End Sub
Sub EndTimer()
On Error Resume Next
KillTimer 0&, TimerID
End Sub
Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, ByVal nIDEvent As Long, ByVal dwTimer As Long)
On Error Resume Next
Call SetSignatureToAccount
EndTimer
End Sub
Sub SetSignatureToAccount()
‘Update by ExtendOffice
Dim xMail As MailItem
Dim xSignatureFile, xSignaturePath As String
Dim xSubject As String
Dim xDoc As Document
Dim xAccount As Account
Dim xIsNew As Boolean
Dim xInspector As Inspector
Const PR_SMTP_ADDRESS As String = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
On Error Resume Next
xSignaturePath = CreateObject("WScript.Shell").SpecialFolders(5) + "\Microsoft\Signatures\"
xSubject = GInspector.Caption
Set xDoc = GInspector.WordEditor
xIsNew = False
Set xMail = GInspector.CurrentItem
Select Case xMail.Parent.Parent
Case "name1@example.com" 'Replace the email address in double quotes
If VBA.InStr(xSubject, "RE: ") Then
xSignatureFile = xSignaturePath & "Signature1.htm" 'Replace "Signature1" with your actual signature name that you will set as the signature when you reply to a message.
ElseIf VBA.InStr(xSubject, "FW: ") Then
xSignatureFile = xSignaturePath & "Signature2.htm" 'Replace "Signature2" with your actual signature name that you will set as the signature when you forward a message.
Else
xIsNew = True
Exit Sub
End If
Case "name2@example.com" 'Replace the email address in double quotes
If VBA.InStr(xSubject, "RE: ") Then
xSignatureFile = xSignaturePath & "Signature3.htm" 'Replace "Signature3" with your actual signature name that you will set as the signature when you reply to a message.
ElseIf VBA.InStr(xSubject, "FW: ") Then
xSignatureFile = xSignaturePath & "Signature4.htm" 'Replace "Signature4" with your actual signature name that you will set as the signature when you forward a message.
Else
xIsNew = True
Exit Sub
End If
'Add more Cases for more email accounts
End Select
If xIsNew = True Then
With xDoc.Application.Selection
.WholeStory
.EndKey
.InsertParagraphAfter
.MoveDown Unit:=wdLine, Count:=1
.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End With
Else
With xDoc.Application.Selection
.MoveRight Unit:=wdCharacter, Count:=1
.HomeKey Emptyparam, Emptyparam
.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End With
End If
Set xDoc = Nothing
Set GInspector = Nothing
Set xMail = Nothing
End Sub
- 1) Você deve substituir name1@example.com e name2@example.com nas linhas 39 e 48 pelos seus endereços de e-mail reais.
- 2) Você deve substituir Assinatura nas linhas 41, 43, 50 e 52 pelos nomes reais das suas assinaturas de acordo com os comentários.
- 3) Com o código VBA acima, podemos adicionar assinaturas a duas contas de e-mail. Se você tiver mais contas, substitua a linha 57 do código por mais Casos:
Se VBA.InStr(xAssunto, "RE: ") = 1 Então
xArquivoAssinatura = xCaminhoAssinatura & "Assinatura1.htm"
SenãoSe VBA.InStr(xAssunto, "FW: ") = 1 Então
xArquivoAssinatura = xCaminhoAssinatura & "Assinatura2.htm"
Senão
xIsNovo = Verdadeiro
Sair Sub
Fim Se
4. Na janela Microsoft Visual Basic for Applications, clique em Ferramentas > Referências, marque a caixa ao lado de Biblioteca de Objetos do Microsoft Word 16.0 e clique em OK.

5. Reinicie o Outlook e salve os códigos VBA.
6. Agora, quando você responder ou encaminhar uma mensagem com uma conta de e-mail para a qual você configurou uma assinatura, a assinatura correspondente será adicionada automaticamente.
Observação: Se você notar que há duas assinaturas adicionadas ao responder ou encaminhar uma mensagem com uma conta de e-mail, por favor, clique em Assinatura > Assinaturas na janela da mensagem. Na seção Escolher assinatura padrão, selecione a conta de e-mail que tem duas assinaturas e escolha (nenhuma) na lista suspensa Respostas/encaminhamentos.

Artigos relacionados
Como Importar ou Inserir Assinaturas HTML no Outlook?
Por exemplo, você baixou algumas assinaturas HTML de sites e deseja importá-las para o seu Outlook. Há maneiras fáceis? Este artigo irá guiá-lo para importar ou inserir assinaturas HTML no Outlook passo a passo.
Como Inserir Cor de Fundo em uma Assinatura do Outlook?
É fácil adicionar ou remover cor de fundo em um e-mail no Outlook. Mas, como você poderia inserir ou remover cor de fundo em uma assinatura do Outlook? As soluções abaixo vão ajudá-lo a resolver isso:
Como Adicionar Assinaturas Diferentes a Várias Contas de E-mail ao Criar um Novo E-mail no Outlook?
Se você deseja que o Outlook adicione automaticamente uma assinatura ao criar uma nova mensagem, será necessário configurar a assinatura padrão clicando em Assinatura > Assinaturas e selecionando uma assinatura para uma conta de e-mail específica conforme mostrado abaixo. No entanto, e se você tiver várias contas de e-mail e quiser adicionar assinaturas diferentes para suas várias contas em lote? Neste tutorial, vou apresentar um método VBA para ajudá-lo a realizar essa tarefa facilmente.
Como Definir Assinaturas Diferentes para Respostas e Encaminhamentos no Outlook?
Normalmente, você pode definir assinaturas diferentes para diferentes contas no seu Outlook, mas já tentou aplicar assinaturas diferentes para respostas e encaminhamentos? Isso significa que, ao responder a um e-mail, a assinatura1 é inserida, e ao encaminhar um e-mail, a assinatura2 é aplicada. Como você poderia resolver essa tarefa no Outlook?
Melhores Ferramentas de Produtividade para Office
Notícia de Última Hora: Kutools para Outlook Lança Versão Gratuita!
Experimente agora a nova versão GRATUITA do Kutools para Outlook, com mais de70 recursos incríveis para você usar PARA SEMPRE! Clique para baixar agora!
📧 Automação de Email: Resposta automática (Disponível para POP e IMAP) / Agendar envio de emails / CC/BCC automático por Regra ao enviar email / Encaminhamento automático (Regra avançada) / Adicionar saudação automaticamente / Dividir automaticamente emails com múltiplos destinatários em mensagens individuais...
📨 Gerenciamento de Email: Recallar Email / Bloquear emails suspeitos por assunto e outros critérios / Excluir Emails Duplicados / Pesquisa Avançada / Organizar Pastas...
📁 Anexos Pro: Salvar em lote / Desanexar em lote / Comprimir em lote / Salvar automaticamente / Desanexar automaticamente / Auto Comprimir...
🌟 Interface Mágica: 😊Mais emojis bonitos e estilosos / Aviso quando emails importantes chegarem / Minimizar Outlook ao invés de fechar...
👍 Recursos com Um Clique: Responder a Todos com Anexos / Emails Anti-Phishing / 🕘Exibir o fuso horário do remetente...
👩🏼🤝👩🏻 Contatos & Calendário: Adicionar contatos em lote a partir de emails selecionados / Dividir um grupo de contatos em grupos individuais / Remover lembrete de aniversário...

