Skip to main content

Como adicionar assinaturas diferentes a várias contas de e-mail ao criar um novo e-mail no Outlook?

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

No tutorial: Assinaturas de Email 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 a uma nova mensagem selecionando Assinatura > A assinatura criada na janela da mensagem.

Claro, você pode configurar o Outlook para adicionar automaticamente uma assinatura ao criar uma nova mensagem clicando em Assinatura > Assinaturas e selecionando uma assinatura para uma conta de e-mail específica, conforme mostrado abaixo.

steps of adding different signatures to multiple email accounts when create a new email in Outlook

No entanto, e se você tiver muitas contas de e-mail e quiser adicionar assinaturas diferentes para suas várias contas em lote? Neste tutorial, apresentarei um método VBA para ajudá-lo a realizar essa tarefa facilmente.


Adicionar assinaturas diferentes a várias contas de e-mail ao criar um novo e-mail 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 na janela ThisOutlookSession (Código). Veja a captura de tela:

steps of adding different signatures to multiple email accounts when create a new email 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.

steps of adding different signatures to multiple email accounts when create a new email in Outlook

Código VBA: Adicionar assinaturas diferentes a várias contas de e-mail ao criar um novo e-mail 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: ") = 1 Then
      Exit Sub
    ElseIf VBA.InStr(xSubject, "FW: ") = 1 Then
      Exit Sub
    Else
      xSignatureFile = xSignaturePath & "Signature1.htm" 'Replace "Signature1" with your actual signature name
      xIsNew = True
    End If
  Case "name2@example.com" 'Replace the email address in double quotes
    If VBA.InStr(xSubject, "RE: ") Then
      Exit Sub
    ElseIf VBA.InStr(xSubject, "FW: ") Then
      Exit Sub
    Else
      xSignatureFile = xSignaturePath & "Signature2.htm" 'Replace "Signature2" with your actual signature name
      xIsNew = True
    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 Assinatura1 e Assinatura2 nas linhas 45 e 54 pelos nomes reais das suas assinaturas.
  • 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 "nome@exemplo.com"
    Se VBA.InStr(xAssunto, "RE: ") = 1 Então
    Sair Sub
    SenãoSe VBA.InStr(xAssunto, "FW: ") = 1 Então
    Sair Sub
    Senão
    xArquivoAssinatura = xCaminhoAssinatura & "Assinatura.htm"
    xÉNovo = Verdadeiro
    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.

steps of adding different signatures to multiple email accounts when create a new email in Outlook

5. Reinicie o Outlook e salve os códigos VBA.

6. Agora, quando você criar uma nova mensagem com uma conta de e-mail para a qual configurou uma assinatura, a assinatura correspondente será adicionada automaticamente.

Observação: Se você perceber que há duas assinaturas adicionadas ao criar uma nova mensagem com uma conta de e-mail, 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 Novas mensagens.

steps of adding different signatures to multiple email accounts when create a new email 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. Existem 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 a cor de fundo em uma assinatura do Outlook? As soluções abaixo ajudarão você a resolver isso:

Como Adicionar Assinaturas Diferentes a Várias Contas de E-mail ao Responder ou Encaminhar no Outlook?

Se você deseja que o Outlook adicione automaticamente uma assinatura ao responder ou encaminhar uma 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 muitas contas de e-mail e quiser adicionar assinaturas diferentes para suas várias contas em lote? Neste tutorial, apresentarei 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; 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