KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

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

AutorAmanda Li Data de Modificação

A partir do tutorial:Assinaturas de Correio Eletrónico No Outlook, já saberá como criar uma assinatura no Outlook. Contudo, após criar uma nova assinatura, terá de a adicionar manualmente sempre que quiser incluí-la ao responder ou reencaminhar uma mensagem, selecionando Assinatura > A assinatura criada na janela da mensagem.

Claro que pode configurar o Outlook para adicionar automaticamente uma assinatura ao responder ou reencaminhar mensagens! Basta clicar em Assinatura > Assinaturas e selecionar a assinatura pretendida para uma conta de correio específica, conforme ilustrado abaixo.

os passos para adicionar assinaturas diferentes a várias contas de e-mail ao responder ou reencaminhar no Outlook

Contudo, e se tiver várias contas de correio e quiser adicionar assinaturas diferentes a todas elas em lote? Neste tutorial, apresento-lhe um método VBA que facilita esta tarefa.


Adicionar assinaturas diferentes a múltiplas contas de correio ao responder ou reencaminhar no Outlook

1. No seu Outlook, prima as teclas Alt+F11 para abrir a janela do Microsoft Visual Basic for Applications.

2. Na janela do Microsoft Visual Basic for Applications, faça duplo clique em ThisOutlookSession no painel Projeto e copie o seguinte código VBA para a janela ThisOutlookSession (Código). Veja a captura de ecrã:

os passos para adicionar assinaturas diferentes a várias contas de e-mail ao responder ou reencaminhar no Outlook

Código VBA: Adicionar assinaturas diferentes a múltiplas contas de correio ao criar um Novo Email 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 do Microsoft Visual Basic for Applications, clique em Inserir > Módulo. Em seguida, copie o seguinte código VBA para a janela do Módulo.

os passos para adicionar assinaturas diferentes a várias contas de e-mail ao responder ou reencaminhar no Outlook

Código VBA: Adicionar assinaturas diferentes a múltiplas contas de correio ao responder ou reencaminhar 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
Nota:
  • 1) Deve substituir os endereços name1@example.com e name2@example.com nas linhas 39.ª e 48.ª pelos seus endereços de email reais.
  • 2) Deve substituir Signature nas linhas 41.ª, 43.ª, 50.ª e 52.ª pelos nomes reais da sua assinatura, de acordo com os comentários.
  • 3) Com o código VBA acima, é possível adicionar assinaturas a duas contas de correio eletrónico. Se tiver mais contas, substitua a linha 57 do código por casos adicionais:
  • Case «name@example.com»
    If VBA.InStr(xSubject, «RE: ») = 1 Then
    xSignatureFile = xSignaturePath & "Signature1.htm"
    ElseIf VBA.InStr(xSubject, «FW: ») = 1 Then
    xSignatureFile = xSignaturePath & "Signature2.htm"
    Else
    xIsNew = True
    Exit Sub
    End If

4. Na janela do Microsoft Visual Basic for Applications, clique em Ferramentas > Referências, marque a caixa junto a Microsoft Word 16,0 Object Library e clique em OK.

os passos para adicionar assinaturas diferentes a várias contas de e-mail ao responder ou reencaminhar no Outlook

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

6. Agora, ao responder ou reencaminhar uma mensagem com uma conta de e-mail para a qual definiu uma assinatura, esta será adicionada automaticamente.

Nota: Se verificar que são adicionadas duas assinaturas ao responder ou reencaminhar uma mensagem com uma conta de correio, clique em Assinatura > Assinaturas na janela da mensagem. Na secção «Escolher assinatura predefinida», selecione a conta de correio com as duas assinaturas e escolha (nenhuma) no menu pendente «Respostas/reencaminhamentos».

os passos para adicionar assinaturas diferentes a várias contas de e-mail ao responder ou reencaminhar no Outlook

Artigos relacionados

Como importar ou inserir assinaturas HTML no Outlook?

Por exemplo, descarregou algumas assinaturas HTML de sites web e pretende importá-las para o Outlook. Será que existem formas simples? Este artigo guia-o passo a passo na importação ou inserção de assinaturas HTML no Outlook.

Como inserir uma cor de fundo numa assinatura do Outlook?

É fácil adicionar ou remover uma cor de fundo num e-mail no Outlook. Mas como inserir ou remover uma cor de fundo na assinatura do Outlook? As soluções abaixo ajudam-no a resolver este problema:

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

Se pretender que o Outlook adicione automaticamente uma assinatura ao criar uma nova mensagem, terá de configurar a assinatura predefinida clicando em **Assinatura > Assinaturas** e selecionando uma assinatura para uma conta de correio específica, conforme ilustrado abaixo. Mas e se tiver várias contas de correio e quiser atribuir assinaturas diferentes a cada uma delas em lote? Neste tutorial, apresento-lhe um método VBA que facilita esta tarefa.

Como definir assinaturas diferentes para respostas e reencaminhamentos no Outlook?

Normalmente, pode definir assinaturas diferentes para contas distintas no Outlook, mas já alguma vez tentou usar assinaturas separadas para respostas e reencaminhamentos? Ou seja, ao responder um e-mail, é inserida a Assinatura1; ao reencaminhar, é aplicada a Assinatura2. Como pode configurar isto no Outlook?


Melhores Ferramentas de Produtividade para o Office

Experimente o totalmente novo Kutools para Outlook com 100+ funcionalidades incríveis!Clique para transferir já!

🤖KUTOOLS AI:Utiliza tecnologia avançada de IA para gerir e-mails sem esforço, incluindo responder, resumir, otimizar, alongar, traduzir e redigir mensagens.

📧Automação de E-mails: Resposta Automática (disponível para POP e IMAP) / Agendar Envio de E-mails / CC/BCC Automático por Regras ao Enviar E-mail / Encaminhamento Automático (regra avançada) / Adicionar Saudação Automaticamente / Dividir Automaticamente E-mails com Múltiplos Destinatários em Mensagens Individuais...

📨Gestão de E-mails: Recallar e-mail / Bloquear e-mails fraudulentos por assunto e outros critérios / Eliminar e-mails duplicados / Pesquisa avançada / Organizar pastas...

📁Anexos Pro: Guardar em Lote / Desanexar em Lote / Comprimir em Lote / Salvar Automaticamente / Desanexar Automaticamente / Auto Comprimir...

🌟Magia da Interface: 😊 Mais Emojis Bonitos e Divertidos / Avisa-o quando chegam e-mails importantes / Minimizar o Outlook em vez de fechá-lo...

👍Maravilhas com um Clique: Responder a Todos com Anexos / E-mails Anti-Phishing / 🕘 Mostrar Fuso Horário – Hora Atual do Remetente...

👩🏼‍🤝‍👩🏻Contactos e Calendário: Criar contactos em lote a partir de e-mails selecionados / Dividir um grupo de contactos em grupos individuais / Remover lembrete de aniversário...

Utilize o Kutools no seu idioma preferido – com suporte para inglês, espanhol, alemão, francês, chinês e mais de 40 idiomas!

Desbloqueie instantaneamente o Kutools para Outlook com um único clique! Não espere mais — transfira já e aumente a sua eficiência!

kutools for outlook features1kutools for outlook features2

🚀 Transferência com um Clique — Obtenha Todos os Extras do Office

Altamente Recomendado: Kutools for Office (5 em 1)

Um clique para transferir cinco instaladoresde uma só vez —Kutools para Excel, Outlook, Word, PowerPointe Office Tab Pro.Clique para transferir já!

  • Conveniência com um clique: Transfira os cinco pacotes de instalação numa única ação.
  • 🚀Pronto para qualquer tarefa no Office: instale os extras que precisa, exatamente quando os precisar.
  • 🧰Incluídos: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint