Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo cambiar automáticamente la firma según los destinatarios en Outlook?

Author Siluvia Last modified

Por defecto, Outlook tiene una función integrada que permite a los usuarios cambiar automáticamente la firma al enviar correos electrónicos a través de diferentes cuentas de correo. Pero más allá de eso, aquí te mostraré un método para cambiar automáticamente la firma basada en diferentes destinatarios en el campo Para en Outlook.

Cambiar la firma según los destinatarios automáticamente con código VBA


Cambiar la firma según los destinatarios automáticamente con código VBA

Por favor, sigue los siguientes pasos para aplicar diferentes firmas a los destinatarios correspondientes mientras envías correos electrónicos en Outlook.

1. Primero, necesitas desactivar la función de firma adjunta automática en Outlook. Haz clic en Archivo > Opciones para abrir la ventana Opciones de Outlook.

2. En la ventana Opciones de Outlook, selecciona Correo en el panel izquierdo, luego haz clic en el botón Firmas en la sección Redactar mensajes. Ver captura de pantalla:

using vba to change signature based on recipients automatically with code

3. En el Firmas y Papelería cuadro de diálogo, ve a la Elegir firma predeterminada sección bajo la Firma de correo electrónico pestaña, selecciona una cuenta de correo en la Cuenta de correo lista desplegable, y luego elige (ninguna) en las Mensajes nuevos y Respuestas/reenvíos listas desplegables. Repite estos pasos hasta que todas las cuentas de correo estén configuradas en (ninguna). Luego haz clic en el Aceptar botón.

using vba to change signature based on recipients automatically with VBA code

Nota: También puedes crear las firmas necesarias en este cuadro de diálogo Firmas y Papelería.

4. Haz clic en el botón Aceptar cuando regrese a la ventana Opciones de Outlook.

5. Presiona las teclas Alt + F11 para abrir la ventana Microsoft Visual Basic para Aplicaciones.

6. En la ventana Microsoft Visual Basic para Aplicaciones, haz doble clic en EstaSesiónDeOutlook en el panel izquierdo para abrir la ventana Código, y copia el siguiente código VBA en la ventana. Ver captura de pantalla:

using vba to change signature based on recipients automatically with VBA code

Código VBA: Cambiar automáticamente la firma según 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, reemplaza "Dirección de correo 1/2/3/4" con las direcciones de correo específicas de los destinatarios.
  • 2). "aaa.htm", "bbb.htm" y "ccc.htm" son las firmas especificadas que enviarás a los destinatarios correspondientes.
  • 3). En este caso, la firma "aaa" será enviada a "Dirección de correo 1", la firma "bbb" será enviada a "Dirección de correo 2" y "Dirección de correo 3", y "Dirección de correo 4" recibirá el correo incrustado con la firma "ccc". Por favor, cámbialos según tus necesidades.
  • 4). Si hay múltiples destinatarios en un correo, el código solo toma en consideración al primer destinatario. En este caso, los demás destinatarios recibirán los correos con la misma firma que el primer destinatario.

7. Luego haz clic en Herramientas > Referencias para ir al cuadro de diálogo Referencias-Proyecto. En el cuadro de diálogo, marca tanto la Biblioteca de objetos de Microsoft Word como la Biblioteca de tiempo de ejecución de scripts de Microsoft, y luego haz clic en el botón Aceptar, ver captura de pantalla:

using vba to change signature based on recipients automatically with VBA code

8. Presiona las teclas Alt + Q para cerrar la ventana Microsoft Visual Basic para Aplicaciones.

A partir de ahora, después de redactar un correo electrónico y presionar el botón Enviar, la firma correspondiente se insertará automáticamente al final del cuerpo del correo según la dirección de correo del destinatario en el campo Para.


Insertar automáticamente la fecha actual como firma al enviar correo en Outlook:

Si deseas insertar una marca de tiempo como firma en el cuerpo del correo mientras creas/respondes/reenvías un nuevo correo en tu Outlook, puedes habilitar Agregar firma de fecha al crear nuevo, responder y reenviar correo opción de Kutools para Outlook para lograrlo. Ver captura de pantalla:
Descarga y pruébalo ahora (30-día de prueba gratuita)

using vba to change signature based on recipients automatically with VBA code


Las mejores herramientas de productividad para Office

Noticia de última hora: ¡Kutools para Outlook lanza su versión gratuita!

¡Descubre el nuevo Kutools para Outlook con más de100 increíbles funciones! Haz clic para descargar ahora.

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

📧 Automatización de correo electrónico: Respuesta automática (disponible para POP e IMAP) / Programar envío de correo electrónico / CC/BCC automático por regla al enviar correo / Reenvío automático (Regla avanzada) / Agregar saludo automáticamente / Dividir automáticamente correos con múltiples destinatarios en emails individuales...

📨 Gestión de correo electrónico: Recuperar correo electrónico / Bloquear correos fraudulentos por asunto y otros filtros / Eliminar 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 emails importantes / Minimizar Outlook en vez de cerrar...

👍 Funciones en un clic: Responder a Todos con Adjuntos / Correos antiphishing / 🕘Mostrar la zona horaria del remitente...

👩🏼‍🤝‍👩🏻 Contactos y Calendario: Agregar contacto en lote desde emails seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños...

Utiliza Kutools en tu idioma preferido — disponible en Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales.

Activa Kutools para Outlook al instante con un solo clic. No esperes más, descarga ahora y maximiza tu productividad.

kutools for outlook features1 kutools for outlook features2

🚀 Descarga con un solo clic — Consigue todos los complementos para Office

Muy recomendado: Kutools para Office (5 en1)

Descarga los cinco instaladores a la vez con solo un clic — Kutools para Excel, Outlook, Word, PowerPoint y Office Tab Pro. Haz clic para descargar ahora.

  • Comodidad en un solo clic: Descarga los cinco paquetes de instalación en una sola acción.
  • 🚀 Listo para cualquier tarea en Office: Instala los complementos que necesites cuando los necesites.
  • 🧰 Incluye: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools para PowerPoint