¿Cómo añadir firmas diferentes a varias cuentas de correo al responder o reenviar mensajes en Outlook?
En el tutorial: Firmas de correo electrónico en Outlook, aprenderá cómo crear una firma en Outlook. Sin embargo, tras crear una nueva firma, tendrá que añadirla manualmente al responder o reenviar un mensaje: seleccione Firma > La firma creada en la ventana del mensaje.
Por supuesto, puede configurar Outlook para que añada automáticamente una firma al responder o reenviar un mensaje. Para ello, haga clic en Firma > Firmas y seleccione una firma para una cuenta de correo específica, como se muestra a continuación.

Sin embargo, ¿qué ocurre si tiene múltiples cuentas de correo y desea añadir firmas diferentes a todas ellas de forma masiva? En este tutorial, le presento un método con VBA que le permitirá realizar esta tarea de manera sencilla.
Añadir firmas distintas a varias cuentas de correo al responder o reenviar en Outlook
1. En Outlook, pulse las teclas Alt+F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. En la ventana de Microsoft Visual Basic para Aplicaciones, haga doble clic en ThisOutlookSession en el panel Proyecto y copie el siguiente código VBA en la ventana ThisOutlookSession (Código). Vea la captura de pantalla:

Código VBA: Añadir firmas distintas a varias cuentas de correo al crear un Nuevo Email en 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. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo. A continuación, copie el siguiente código VBA en la ventana del módulo.

Código VBA: Añadir firmas distintas a varias cuentas de correo al responder o reenviar en 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 - 1) Debe reemplazar name1@example.com y name2@example.com en las filas 39.ª y 48.ª por su dirección de correo electrónico real.
- 2) Debe reemplazar Signature en las filas 41.ª, 43.ª, 50.ª y 52.ª por los nombres reales de sus firmas, tal como se indica en los comentarios.
- 3) Con el código VBA anterior, puede añadir firmas a dos cuentas de correo electrónico. Si tiene más cuentas, sustituya la línea 57 del código por casos adicionales:
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. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Herramientas > Referencias, marque la casilla situada junto a Microsoft Word 16,0 Object Library y haga clic en Aceptar.

5. Reinicie Outlook y guarde los códigos VBA.
6. Ahora, al responder o reenviar un mensaje desde una cuenta de correo con firma configurada, esta se añadirá automáticamente.
Nota: Si observa que se añaden dos firmas al responder o reenviar un mensaje con una cuenta de correo, haga clic en Firma > Firmas en la ventana del mensaje. En la sección «Elegir firma predeterminada», seleccione la cuenta de correo que tiene dos firmas y elija (ninguna) en el menú desplegable de «Respuestas/reenvíos».

Artículos relacionados
¿Cómo importar o insertar firmas HTML en Outlook?
Por ejemplo, ha descargado algunas firmas HTML de sitios web y quiere importarlas a Outlook. ¿Existen métodos sencillos? Este artículo le guiará paso a paso para importar o insertar firmas HTML en Outlook.
¿Cómo insertar un color de fondo en una firma de Outlook?
Es muy sencillo añadir o eliminar el color de fondo en un correo electrónico en Outlook. Pero, ¿cómo puede insertar o eliminar el color de fondo en una firma de Outlook? Las soluciones siguientes le ayudarán a resolverlo:
¿Cómo añadir firmas distintas a varias cuentas de correo al redactar un nuevo mensaje en Outlook?
Si desea que Outlook añada automáticamente una firma al crear un mensaje nuevo, debe configurar la firma predeterminada haciendo clic en **Firma > Firmas** y seleccionando una firma para una cuenta de correo específica, tal como se muestra a continuación. Pero, ¿qué pasa si tiene muchas cuentas de correo y quiere asignar firmas distintas a todas ellas de forma masiva? En este tutorial, le presento un método con VBA que le permitirá realizar esta tarea de manera sencilla.
¿Cómo configurar firmas diferentes para respuestas y reenvíos en Outlook?
Normalmente, puede configurar firmas distintas para cada cuenta en Outlook, pero ¿ha probado alguna vez a usar firmas diferentes para respuestas y reenvíos? Es decir, que al responder un mensaje se inserte la firma1 y al reenviarlo se aplique la firma2. ¿Cómo puede conseguirlo en Outlook?
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