Skip to main content

¿Cómo agregar diferentes firmas a varias cuentas de correo electrónico al responder o reenviar en Outlook?

Author: Amanda Li Last Modified: 2025-06-04

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.

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

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:

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

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.

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

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
Nota:
  • 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:
  • Caso "name@example.com"
    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.

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

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.

the steps of adding different signatures to multiple email accounts when reply or forward in Outlook

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:

¿Cómo agregar diferentes firmas a múltiples cuentas de correo electrónico al crear un nuevo correo en Outlook?

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!

🤖 Kutools AI : Utiliza tecnología avanzada de IA para gestionar correos electrónicos sin esfuerzo, incluyendo responder, resumir, optimizar, ampliar, traducir y redactar emails.

📧 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...

Desbloquea al instante Kutools para Outlook con un solo clic. ¡No esperes más, descárgalo ahora y aumenta tu productividad!

kutools for outlook features1 kutools for outlook features2