KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Oferta de marzo: 20 % de descuento

¿Cómo añadir firmas diferentes a varias cuentas de correo al responder o reenviar mensajes en Outlook?

AutorAmanda Li Fecha de modificación

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.

los pasos para añadir firmas diferentes a varias cuentas de correo electrónico al responder o reenviar en Outlook

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:

los pasos para añadir firmas diferentes a varias cuentas de correo electrónico al responder o reenviar en Outlook

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.

los pasos para añadir firmas diferentes a varias cuentas de correo electrónico al responder o reenviar en Outlook

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
Nota:
  • 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:
  • Case «name@example.com»
    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.

los pasos para añadir firmas diferentes a varias cuentas de correo electrónico al responder o reenviar en Outlook

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

los pasos para añadir firmas diferentes a varias cuentas de correo electrónico al responder o reenviar en Outlook

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!

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

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

Desbloquee Kutools para Outlook al instante con un solo clic. ¡No espere más: descárguelo ahora y potencie su eficiencia!

kutools for outlook features1kutools for outlook features2

🚀 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