¿Cómo cambiar la firma automáticamente según los destinatarios en Outlook?
De forma predeterminada, Outlook incluye una función integrada que permite cambiar automáticamente la firma al enviar correos electrónicos desde distintas cuentas. Además, a continuación le mostraré un método para cambiar la firma automáticamente según los destinatarios del campo Para en Outlook.
Cambiar automáticamente la firma en función de los destinatarios con código VBA
Cambiar automáticamente la firma en función de los destinatarios con código VBA
Siga estos sencillos pasos para aplicar firmas distintas a los destinatarios correspondientes al enviar correos electrónicos en Outlook.
1. En primer lugar, desactive la función de firma adjunta automática en Outlook. Haga clic en Archivo > Opciones para abrir la ventana Opciones de Outlook.
2. En la ventana Opciones de Outlook, seleccione Correo en el panel izquierdo y, a continuación, haga clic en el botón Firmas en la sección Redactar mensajes. Vea la captura de pantalla:

3. En el cuadro de diálogo Firmas y papel de carta, vaya a la sección Elegir firma predeterminada situada bajo la pestaña Firma de correo electrónico, seleccione una cuenta de correo en la lista desplegable Cuenta de correo y, a continuación, elija (ninguna) en los campos Mensajes nuevos y Respuestas/reenvíos. Repita estos pasos hasta que todas las cuentas estén configuradas como (ninguna). A continuación, haga clic en el botón Aceptar.

Nota: También puede crear en este cuadro de diálogo Firmas y papel de carta las firmas que necesite.
4. Haga clic en el botón Aceptar cuando regrese a la ventana Opciones de Outlook.
5. Pulse las teclas Alt + F11 para abrir la ventana Microsoft Visual Basic para Aplicaciones.
6. En la ventana Microsoft Visual Basic para Aplicaciones, haga doble clic en ThisOutlookSession en el panel izquierdo para abrir la ventana de código y copie el siguiente código VBA en ella. Vea la captura de pantalla:

Código VBA: Cambiar automáticamente la firma en función de los destinatarios en Outlook
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'Updated by ExtendOffice 2022/08/01
Dim xMailItem As MailItem
Dim xRecipients As Recipients
Dim xRecipient As Recipient
Dim xRcpAddress As String
Dim xSignatureFile, xSignaturePath As String
Dim xFSO As Scripting.FileSystemObject
Dim xDoc As Document
Dim xFindStr As String
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
If Item.Class <> olMail Then Exit Sub
Set xMailItem = Item
Set xRecipients = xMailItem.Recipients
xSignaturePath = CreateObject("WScript.Shell").SpecialFolders(5) + "\Microsoft\Signatures\"
For Each xRecipient In xRecipients
If xRecipient.AddressEntry.AddressEntryUserType = olExchangeUserAddressEntry Then
xRcpAddress = xRecipient.AddressEntry.GetExchangeUser.PrimarySmtpAddress
Else
xRcpAddress = xRecipient.AddressEntry.Address
End If
Select Case xRcpAddress
Case "Email Address 1"
xSignatureFile = xSignaturePath & "aaa.htm"
Exit For
Case "Email Address 2", "Email Address 3"
xSignatureFile = xSignaturePath & "bbb.htm"
Exit For
Case "Email Address 4"
xSignatureFile = xSignaturePath & "ccc.htm"
Exit For
End Select
Next
VBA.DoEvents
Set xDoc = xMailItem.GetInspector.WordEditor
xFindStr = "From: " & xMailItem.Recipients.Item(1).Name & " <" & xRcpAddress & ">"
If VBA.InStr(1, xMailItem.Body, xFindStr) <> 0 Then
xDoc.Application.Selection.HomeKey Unit:=wdStory, Extend:=wdMove
With xDoc.Application.Selection.Find
.ClearFormatting
.Text = xFindStr
.Execute Forward:=True
End With
With xDoc.Application.Selection
.MoveLeft wdCharacter, 2
.InsertParagraphAfter
.MoveDown Unit:=wdLine, Count:=1
End With
Else
With xDoc.Application.Selection
.EndKey Unit:=wdStory, Extend:=wdMove
.InsertParagraphAfter
.MoveDown Unit:=wdLine, Count:=1
End With
End If
xDoc.Application.Selection.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End Sub
Notas:
- 1). En el código VBA, sustituya "Dirección de correo electrónico 1/2/3/4" por la dirección de correo electrónico específica de los destinatarios.
- 2). "aaa.htm", "bbb.htm« y »ccc.htm" son las firmas que se enviarán a los destinatarios correspondientes.
- 3). En este caso, la firma "aaa« se enviará a »Dirección de correo electrónico 1«, la firma »bbb« se enviará a »Dirección de correo electrónico 2« y a »Dirección de correo electrónico 3"«, y »Dirección de correo electrónico 4« recibirá el correo electrónico con la firma »ccc" insertada. Adáptelas a sus necesidades.
- 4). Si un correo electrónico tiene varios destinatarios, el código solo considera al primero. En este caso, los demás destinatarios recibirán el mensaje con la misma firma que el primer destinatario.
7. A continuación, haga clic en Herramientas > Referencias para abrir el cuadro de diálogo Referencias - Proyecto. En dicho cuadro, active las opciones Microsoft Word Object Library y Microsoft Scripting Runtime, y luego haga clic en el botón Aceptar. Vea la captura de pantalla:

8. Pulse las teclas Alt + Q para cerrar la ventana Microsoft Visual Basic para Aplicaciones.
A partir de ahora, al redactar un correo electrónico y hacer clic en el botón Enviar, la firma correspondiente se insertará automáticamente al final del cuerpo del mensaje según la dirección de correo electrónico del destinatario en el campo Para.
Insertar automáticamente la fecha actual como firma al enviar un correo electrónico en Outlook:
Si desea insertar una marca de tiempo como firma en el cuerpo del correo electrónico al crear, responder o reenviar un nuevo mensaje en Outlook, active la opción Añadir firma con fecha al crear, responder y reenviar correos electrónicos de Kutools para Outlook para lograrlo. Vea la captura de pantalla:
Descárguelo y pruébelo ahora (prueba gratuita de 30 días)

Las mejores herramientas de productividad para Office
¡Descubra el nuevo Kutools para Outlook con 100+ funciones increíbles!¡Haga clic para descargar ahora!
📧Automatización de correo electrónico: Respuesta automática (disponible para POP e IMAP) / Programar el envío de correos electrónicos / CC/BCC automático según reglas al enviar correos / Reenvío automático (regla avanzada) / Añadir saludo automáticamente / Dividir automáticamente los correos con múltiples destinatarios en mensajes individuales...
📨Gestión de correo electrónico: Recupera tus correos electrónicos / Bloquea correos fraudulentos por asunto y otros criterios / Elimina correos electrónicos duplicados / Búsqueda avanzada / Organiza tus carpetas…
📁Archivos adjuntos Pro: Guardar en lote / Desvincular en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto comprimir...
🌟Magia de la interfaz: 😊Más emojis bonitos y modernos / Le avisa cuando llegan correos importantes / Minimiza Outlook en lugar de cerrarlo…
👍Maravillas con un solo clic: Responder a Todos con Adjuntos / Correos electrónicos antiphishing / 🕘 Mostrar zona horaria: hora actual del remitente...
👩🏼🤝👩🏻Contactos y calendario: Crear contactos en lote a partir de correos seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños...
Utilice Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y más de 40 idiomas adicionales.


🚀 Descarga con un solo clic — Obtenga todos los complementos de Office
Muy recomendado: Kutools for Office (5 en 1)
Un solo clic para descargar cinco instaladoresa la vez —Kutools para Excel, Outlook, Word, PowerPointy Office Tab Pro.¡Haga clic para descargar ahora!
- ✅Comodidad con un solo clic: Descargue los cinco paquetes de instalación de una sola vez.
- 🚀Listo para cualquier tarea de Office: Instale los complementos que necesite, justo cuando los necesite.
- 🧰Incluido: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint