Ir para o conteúdo principal

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

Do tutorial: Assinaturas de e-mail no Outlook, você deve saber como criar uma assinatura no Outlook. No entanto, depois de criar uma nova assinatura, você terá que adicionar a assinatura criada a uma nova mensagem manualmente, selecionando Assinatura > A assinatura criada na janela de mensagem.

É claro que você pode fazer com que o Outlook adicione uma assinatura automaticamente ao criar 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 muitas contas de e-mail e quiser adicionar assinaturas diferentes para suas várias contas em lotes? Neste tutorial, apresentarei um método VBA para ajudá-lo a realizar esse trabalho facilmente.


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

1. No Outlook, pressione o botão outro + F11 para abrir a janela Microsoft Visual Basic for Applications.

2. Na janela Microsoft Visual Basic for Applications, clique duas vezes em Esta sessão do Outlook no painel Project e copie o código VBA abaixo na janela ThisOutlookSession (Code). Veja a captura de tela:

Código VBA: Adicione 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 inserção > Módulo. Em seguida, copie o seguinte código VBA para a janela Módulo.

Código VBA: Adicione 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 "" '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 "" '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
Nota:
  • 1) Você deve substituir o e nas linhas 39 e 48 para seus endereços de e-mail reais.
  • 2) Você deve substituir Assinatura 1 e Assinatura 2 nas linhas 45 e 54 para seus nomes de assinatura reais.
  • 3) Com o código VBA acima, podemos adicionar assinaturas a duas contas de e-mail. Se você tiver mais contas, substitua a 57ª linha do código por mais casos:
  • Caso ""
    Se VBA.InStr(xSubject, "RE: ") = 1 Então
    Exit Sub
    ElseIf VBA.InStr(xSubject, "FW: ") = 1 Then
    Exit Sub
    Outro
    xSignatureFile = xSignaturePath & "Signature.htm"
    xIsNovo = Verdadeiro
    Se acabar

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.0E clique OK.

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 você configurou uma assinatura, a assinatura correspondente será adicionada automaticamente.

Nota: Se você descobrir que há duas assinaturas adicionadas ao criar uma nova mensagem com uma conta de e-mail, clique em Assinatura > Assinaturas na janela de mensagem. Na seção Escolher assinatura padrão, selecione a conta de e-mail que possui duas assinaturas e escolha (Nenhum) na lista suspensa Novas mensagens.


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 Outlook. Alguma maneira fácil? 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 a cor de fundo de um e-mail no Outlook. Mas, como você pode inserir ou remover a cor de fundo em uma assinatura do Outlook? As soluções abaixo irão ajudá-lo a resolvê-lo:

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

Se quiser que o Outlook adicione assinatura automaticamente quando você 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 lotes? Neste tutorial, apresentarei um método VBA para ajudá-lo a realizar esse trabalho facilmente.

Como definir assinaturas diferentes para respostas e encaminhamentos no Outlook?

Normalmente, você pode definir assinaturas diferentes para contas diferentes em seu Outlook, mas, já tentou aplicar assinaturas diferentes para respostas e encaminhamentos. Isso significa que, quando você responde um e-mail, a assinatura1 é inserida, quando você encaminha um e-mail a assinatura2 é aplicada. Como você resolveria essa tarefa no Outlook?


Melhores ferramentas de produtividade de escritório

Kutools for Outlook - Mais de 100 recursos poderosos para turbinar seu Outlook

🤖 Assistente de correio AI: E-mails profissionais instantâneos com magia de IA – um clique para respostas geniais, tom perfeito, domínio multilíngue. Transforme o envio de e-mails sem esforço! ...

📧 Automação de e-mail: Fora do escritório (disponível para POP e IMAP)  /  Agendar envio de e-mails  /  CC/BCC automático por regras ao enviar e-mail  /  Encaminhamento automático (regras avançadas)   /  Adicionar saudação automaticamente   /  Divida automaticamente e-mails de vários destinatários em mensagens individuais ...

📨 Gestão de E-mail: Lembre-se facilmente de e-mails  /  Bloquear e-mails fraudulentos por assuntos e outros  /  Apagar Emails Duplicados  /  Pesquisa Avançada  /  Consolidar pastas ...

📁 Anexos PróSalvar em lote  /  Desanexar lote  /  Comprimir em Lote  /  Salvamento automático   /  Desanexação Automática  /  Compressão automática ...

???? Interface Mágica: 😊Mais emojis bonitos e legais   /  Aumente a produtividade do seu Outlook com visualizações com guias  /  Minimize o Outlook em vez de fechar ...

???? Maravilhas com um clique: Responder a todos com anexos recebidos  /   E-mails antiphishing  /  🕘Mostrar fuso horário do remetente ...

👩🏼‍🤝‍👩🏻 Contatos e calendário: Adicionar contatos em lote de e-mails selecionados  /  Dividir um grupo de contatos em grupos individuais  /  Remover lembretes de aniversário ...

Sobre Características 100 Aguarde sua exploração! Clique aqui para descobrir mais.

 

 

Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi,
I tried to initiate this settings in my outlook for changing the signature automatically, but it doesn't function.

the signature stays the same while using different email accounts.

any idea why ?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations