¿Cómo agregar diferentes firmas a varias cuentas de correo electrónico al responder o reenviar en Outlook?
Del tutorial: Firmas de correo electrónico en Outlook, deberías saber cómo crear una firma en Outlook. Sin embargo, después de crear una nueva firma, tendrás que agregar manualmente la firma creada si deseas añadirla cuando respondes o reenvías un mensaje seleccionando Firma > La firma creada en la ventana del mensaje.
Por supuesto, puedes hacer que Outlook agregue automáticamente una firma cuando respondes o reenvías un nuevo mensaje haciendo clic en Firma > Firmas y seleccionando una firma para una cuenta de correo específica como se muestra a continuación.

Sin embargo, ¿qué pasa si tienes muchas cuentas de correo electrónico y quieres agregar diferentes firmas para tus múltiples cuentas en lotes? En este tutorial, te presentaré un método VBA para ayudarte a realizar esta tarea fácilmente.
Agregar diferentes firmas a múltiples cuentas de correo electrónico al responder o reenviar en Outlook
1. En tu Outlook, presiona las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. En la ventana de Microsoft Visual Basic para Aplicaciones, haz doble clic en ThisOutlookSession en el panel Proyecto, y copia el siguiente código VBA en la ventana ThisOutlookSession (Código). Ver captura de pantalla:

Código VBA: Agregar diferentes firmas a múltiples cuentas de correo electrónico al crear un nuevo correo 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, haz clic en Insertar > Módulo. Luego copia el siguiente código VBA en la ventana Módulo.

Código VBA: Agregar diferentes firmas a múltiples cuentas de correo electrónico 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) Debes reemplazar name1@example.com y name2@example.com en las filas 39 y 48 por tus direcciones de correo electrónico reales.
- 2) Debes reemplazar Firma en las filas 41, 43, 50 y 52 por los nombres reales de tus firmas según los comentarios.
- 3) Con el código VBA anterior, podemos agregar firmas a dos cuentas de correo electrónico. Si tienes más cuentas, reemplaza la fila 57 del código con más Casos:
Si VBA.InStr(xAsunto, "RE: ") = 1 Entonces
xArchivoFirma = xRutaFirma & "Firma1.htm"
O bien, si VBA.InStr(xAsunto, "FW: ") = 1 Entonces
xArchivoFirma = xRutaFirma & "Firma2.htm"
De lo contrario
xIsNuevo = Verdadero
Salir Sub
Fin Si
4. En la ventana de Microsoft Visual Basic para Aplicaciones, haz clic en Herramientas > Referencias, marca la casilla junto a Biblioteca de objetos de Microsoft Word 16.0, y haz clic en Aceptar.

5. Reinicia Outlook y guarda los códigos VBA.
6. Ahora, cuando respondas o reenvíes un mensaje con una cuenta de correo electrónico para la que has configurado una firma, la firma correspondiente se agregará automáticamente.
Nota: Si encuentras que hay dos firmas agregadas cuando respondes o reenvías un mensaje con una cuenta de correo electrónico, por favor haz clic en Firma > Firmas en la ventana del mensaje. En la sección Elegir firma predeterminada, selecciona la cuenta de correo que tiene dos firmas y elige (ninguna) en la lista desplegable Respuestas/reenvíos.

Artículos relacionados
¿Cómo importar o insertar firmas HTML en Outlook?
Por ejemplo, has descargado algunas firmas HTML de sitios web y quieres importarlas a tu Outlook. ¿Alguna manera fácil? Este artículo te guiará paso a paso para importar o insertar firmas HTML en Outlook.
¿Cómo insertar color de fondo en una firma de Outlook?
Es fácil agregar o eliminar el color de fondo en un correo electrónico en Outlook. Pero, ¿cómo podrías insertar o eliminar el color de fondo en una firma de Outlook? Los siguientes métodos alternativos te ayudarán a resolverlo:
Si quieres que Outlook agregue automáticamente una firma cuando creas un nuevo mensaje, necesitarás configurar la firma predeterminada haciendo clic en Firma > Firmas y seleccionando una firma para una cuenta de correo específica como se muestra a continuación. Sin embargo, ¿qué pasa si tienes muchas cuentas de correo electrónico y quieres agregar diferentes firmas para tus múltiples cuentas en lotes? En este tutorial, te presentaré un método VBA para ayudarte a realizar esta tarea fácilmente.
¿Cómo establecer diferentes firmas para respuestas y reenvíos en Outlook?
Normalmente, puedes establecer diferentes firmas para diferentes cuentas en tu Outlook, pero, ¿alguna vez has intentado aplicar diferentes firmas para respuestas y reenvíos? Esto significa que, cuando respondes a un correo electrónico, se inserta la firma1, y cuando reenvías un correo electrónico, se aplica la firma2. ¿Cómo podrías resolver esta tarea en Outlook?
Las mejores herramientas de productividad para Office
Últimas noticias: ¡Kutools para Outlook lanza su versión gratuita!
Descubre la nueva versión GRATUITA de Kutools para Outlook con más de70 funciones increíbles, ¡para que la disfrutes PARA SIEMPRE! ¡Haz clic para descargar ahora!
📧 Automatización de Email: Respuesta automática (Disponible para POP e IMAP) / Programar envío de correos / CC/BCC automático por regla al enviar correo / Reenvío automático (Regla avanzada) / Agregar saludo automáticamente / Dividir automáticamente emails con múltiples destinatarios en mensajes individuales...
📨 Gestión de Email: Recuperar correo electrónico / Bloquear correos fraudulentos por asunto y otros criterios / Eliminar correos electrónicos duplicados / Búsqueda Avanzada / Organizar carpetas...
📁 Adjuntos Pro: Guardar en lote / Desanexar en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto Comprimir...
🌟 Magia en la interfaz: 😊Más emojis bonitos y modernos / Avisos cuando llegan correos importantes / Minimiza Outlook en vez de cerrarlo...
👍 Funciones de un solo clic: Responder a Todos con Adjuntos / Correos electrónicos anti-phishing / 🕘Mostrar la zona horaria del remitente...
👩🏼🤝👩🏻 Contactos y Calendario: Agregar contactos en lote desde correos seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños...

