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

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

AutoraSiluvia Fecha de modificación

De forma predeterminada, Outlook incluye una función integrada que permite cambiar automáticamente la firma al enviar correos electrónicos desde distintas cuentas. Además, a continuación le mostraré un método para cambiar la firma automáticamente según los destinatarios del campo Para en Outlook.

Cambiar automáticamente la firma en función de los destinatarios con código VBA


Cambiar automáticamente la firma en función de los destinatarios con código VBA

Siga estos sencillos pasos para aplicar firmas distintas a los destinatarios correspondientes al enviar correos electrónicos en Outlook.

1. En primer lugar, desactive la función de firma adjunta automática en Outlook. Haga clic en Archivo > Opciones para abrir la ventana Opciones de Outlook.

2. En la ventana Opciones de Outlook, seleccione Correo en el panel izquierdo y, a continuación, haga clic en el botón Firmas en la sección Redactar mensajes. Vea la captura de pantalla:

usar VBA para cambiar la firma automáticamente según los destinatarios con código

3. En el cuadro de diálogo Firmas y papel de carta, vaya a la sección Elegir firma predeterminada situada bajo la pestaña Firma de correo electrónico, seleccione una cuenta de correo en la lista desplegable Cuenta de correo y, a continuación, elija (ninguna) en los campos Mensajes nuevos y Respuestas/reenvíos. Repita estos pasos hasta que todas las cuentas estén configuradas como (ninguna). A continuación, haga clic en el botón Aceptar.

usar VBA para cambiar la firma automáticamente según los destinatarios con código VBA

Nota: También puede crear en este cuadro de diálogo Firmas y papel de carta las firmas que necesite.

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

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

6. En la ventana Microsoft Visual Basic para Aplicaciones, haga doble clic en ThisOutlookSession en el panel izquierdo para abrir la ventana de código y copie el siguiente código VBA en ella. Vea la captura de pantalla:

usar VBA para cambiar la firma automáticamente según los destinatarios con código VBA

Código VBA: Cambiar automáticamente la firma en función de 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, sustituya "Dirección de correo electrónico 1/2/3/4" por la dirección de correo electrónico específica de los destinatarios.
  • 2). "aaa.htm", "bbb.htm« y »ccc.htm" son las firmas que se enviarán a los destinatarios correspondientes.
  • 3). En este caso, la firma "aaa« se enviará a »Dirección de correo electrónico 1«, la firma »bbb« se enviará a »Dirección de correo electrónico 2« y a »Dirección de correo electrónico 3"«, y »Dirección de correo electrónico 4« recibirá el correo electrónico con la firma »ccc" insertada. Adáptelas a sus necesidades.
  • 4). Si un correo electrónico tiene varios destinatarios, el código solo considera al primero. En este caso, los demás destinatarios recibirán el mensaje con la misma firma que el primer destinatario.

7. A continuación, haga clic en Herramientas > Referencias para abrir el cuadro de diálogo Referencias - Proyecto. En dicho cuadro, active las opciones Microsoft Word Object Library y Microsoft Scripting Runtime, y luego haga clic en el botón Aceptar. Vea la captura de pantalla:

usar VBA para cambiar la firma automáticamente según los destinatarios con código VBA

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

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


Insertar automáticamente la fecha actual como firma al enviar un correo electrónico en Outlook:

Si desea insertar una marca de tiempo como firma en el cuerpo del correo electrónico al crear, responder o reenviar un nuevo mensaje en Outlook, active la opción Añadir firma con fecha al crear, responder y reenviar correos electrónicos de Kutools para Outlook para lograrlo. Vea la captura de pantalla:
Descárguelo y pruébelo ahora (prueba gratuita de 30 días)

usar VBA para cambiar la firma automáticamente según los destinatarios con código VBA


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