Muchos usuarios esperan que Outlook pueda seleccionar automáticamente las diferentes firmas para diferentes destinatarios en los correos electrónicos. Por lo tanto, este artículo le enseñará cómo realizarlo a través de VBA.
De forma predeterminada, Outlook solo le permite insertar automáticamente la firma variable en nuevos correos electrónicos, respuestas y reenvíos. Sin embargo, muchas personas incluso esperan que Outlook pueda seleccionar automáticamente las diferentes firmas para distintos destinatarios. Desafortunadamente, Outlook no ofrece una función tan directa. Por lo tanto, debe buscar otras formas, como cualquier complemento de terceros o código VBA. Ahora, a continuación, le revelaremos un fragmento de código VBA, que puede ayudarlo a realizarlo como una brisa.

Seleccionar automáticamente diferentes firmas para diferentes destinatarios
- A start con, debe iniciar su programa Outlook.
- Entonces es mejor que desactive la función de firma de inserción automática.
- En primer lugar, vaya al menú "Archivo" y seleccione "Opciones".
- En la ventana "Opciones de Outlook", cambie a la pestaña "Correo".
- Luego busque y haga clic en el botón "Firmas".
- A continuación, en el cuadro de diálogo emergente, configure "(ninguno)" tanto en "Mensajes nuevos" como en "Respuestas / Reenvíos".
- Después de eso, haga clic en una serie de "Aceptar" para guardar los cambios.
- Después de eso, puede volver a la ventana principal de Outlook y presionar las teclas "Alt + F11".
- A continuación, en la ventana "Microsoft Visual Basic para aplicaciones", busque y abra el proyecto "ThisOutlookSession".
- Posteriormente, copie y pegue el siguiente código VBA en este proyecto.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objMail As Outlook.MailItem
Dim objRecipients As Outlook.Recipients
Dim objRecipient As Outlook.recipient
Dim strRecipientAddress As String
Dim strSignatureFile As String
Dim objFileSystem As Object
Dim objTextStream As Object
Dim strSignature As String
If TypeOf Item Is MailItem Then
Set objMail = Item
Set objRecipients = objMail.Recipients
End If
'Select different signature files based on recipients
'You can change the conditions as per you actual needs
If objRecipients.Count = 1 Then
Set objRecipient = objRecipients.Item(1)
strRecipientAddress = objRecipient.Address
If strRecipientAddress = "mandy@datanumen.com" Then
strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\Test John Smith.htm"
ElseIf strRecipientAddress = "anne@datanumen.com" Or strRecipientAddress = "tony@datanumen.com" Then
strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\Johnny.htm"
ElseIf strRecipientAddress = "abby@datanumen.com" Then
strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\New John Smith.htm"
End If
Else
strSignatureFile = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\John Smith.htm"
End If
'Read the specific signature file
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFileSystem.OpenTextFile(strSignatureFile)
strSignature = objTextStream.ReadAll
'Insert the signature to this email
objMail.HTMLBody = objMail.HTMLBody & "<HTML><BODY><br>" & strSignature & "</br></HTML></BODY>"
End Sub
- Después de eso, debes firmar este código.
- Más tarde, cambie la configuración de las macros de Outlook para permitir macros firmadas.
- A partir de ahora, cada vez que haga clic en el botón "Enviar" para enviar un correo electrónico, Outlook identificará al destinatario e insertará automáticamente la firma correspondiente al final del cuerpo del correo electrónico.
Esté atento a las macros maliciosas ocultas en los correos electrónicos entrantes
Hoy en día, los virus se han vuelto muy maduros y poderosos. Siempre los disfrazan como cosas inofensivas en el correo electrónico. Por lo tanto, ahora que tiene la intención de utilizar macros en Outlook, debe aumentar su vigilancia contra las macros maliciosas. De lo contrario, sus datos de PST se mantendrán en riesgo. Si PST se corrompe, hará todo lo posible para recuperar PST datos. En este caso, se sugiere aplicar una herramienta potente, como DataNumen Outlook Repair.
Introducción del autor:
Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo corrección de sql y productos de software de reparación de Outlook. Para más información visite www.datanumen.com

