Много потребители се надяват, че Outlook може автоматично да избира различните подписи за различни получатели в имейлите. По този начин тази статия ще научи как да я реализирате чрез VBA.
По подразбиране Outlook ви позволява само автоматично да вмъквате различния подпис в нови имейли, отговори и препратки. Много хора обаче се надяват, че Outlook може автоматично да избира различните подписи за различни получатели. За съжаление, Outlook не предоставя такава директна функция. По този начин трябва да потърсите други начини, като добавки на трети страни или VBA код. Сега, по-долу, ще ви разкрием част от кода на VBA, която може да ви помогне да го осъзнаете като бриз.

Автоматично изберете различни подписи за различни получатели
- За начало трябва да стартирате програмата Outlook.
- Тогава е по-добре да деактивирате функцията за автоматично вмъкване на подпис.
- Първо отидете в менюто „Файл“ и изберете „Опции“.
- В прозореца „Опции на Outlook“ превключете към раздела „Поща“.
- След това намерете и кликнете върху бутона „Подписи“.
- След това в изскачащия диалогов прозорец задайте “(none)” и в двете “New Messages” и “Replies / Forwards”.
- След това щракнете върху поредица „OK“, за да запазите промените.
- След това можете да се върнете в главния прозорец на Outlook и да натиснете клавишите “Alt + F11”.
- След това в прозореца „Microsoft Visual Basic for Applications“ намерете и отворете проекта „ThisOutlookSession“.
- Впоследствие копирайте и поставете следния VBA код в този проект.
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
- След това трябва да подпишете този код.
- По-късно променете настройките на макроса на Outlook, за да разрешите подписани макроси.
- Отсега нататък, всеки път, когато щракнете върху бутона „Изпрати“, за да изпратите имейл, Outlook ще идентифицира получателя и автоматично ще вмъкне съответния подпис в края на тялото на имейла.
Внимавайте за скрити злонамерени макроси във входящите имейли
В днешно време вирусите са станали много зрели и мощни. Те винаги ги маскират като безобидни неща в имейла. Следователно, след като възнамерявате да използвате макроси в Outlook, трябва да повишите бдителността си срещу зловредните макроси. В противен случай вашите PST данни ще бъдат изложени на риск. Ако PST се повреди, ще опитате всичко възможно възстанови PST данни. В този случай се препоръчва да се приложи мощен инструмент, като например DataNumen Outlook Repair.
Въведение на автора:
Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително sql корекция и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com

