Skip to main content

Como adicionar assinaturas diferentes a várias contas de e-mail ao responder ou encaminhar no Outlook?

Author: Amanda Li Last Modified: 2025-06-04

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.

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

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:

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

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.

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

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
Observação:
  • 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:
  • Caso "name@example.com"
    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.

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

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.

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

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!

🤖 Kutools AI : Utiliza tecnologia avançada de IA para gerenciar emails com facilidade, incluindo responder, resumir, otimizar, expandir, traduzir e redigir emails.

📧 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...

Desbloqueie instantaneamente o Kutools para Outlook com um único clique. Não perca tempo, baixe agora e aumente sua produtividade!

kutools for outlook features1 kutools for outlook features2