Mnogi uporabniki upajo, da lahko Outlook samodejno izbere različne podpise za različne prejemnike v e-poštnih sporočilih. Tako bo ta članek naučil, kako ga realizirati prek VBA.
Outlook vam privzeto omogoča samo samodejno vstavljanje različnih podpisov v nova e-poštna sporočila, odgovore in posredovanja. Vendar pa veliko ljudi celo upa, da lahko Outlook samodejno izbere različne podpise za različne prejemnike. Na žalost Outlook ne ponuja tako neposredne funkcije. Zato morate poiskati druge načine, kot so dodatki tretjih oseb ali koda VBA. V nadaljevanju vam bomo razkrili delček kode VBA, ki vam lahko pomaga, da jo uresničite kot vetrič.

Samodejna izbira različnih podpisov za različne prejemnike
- Za začetek morate zagnati program Outlook.
- Potem je bolje, da onemogočite funkcijo samodejnega vstavljanja podpisa.
- Najprej pojdite v meni »Datoteka« in izberite »Možnosti«.
- V oknu »Outlook Options« preklopite na zavihek »Mail«.
- Nato poiščite in kliknite gumb »Podpisi«.
- Nato v pojavnem pogovornem oknu nastavite »(brez)« v obeh »Nova sporočila« in »Odgovori/Posredovanje«.
- Po tem kliknite vrsto »V redu«, da shranite spremembe.
- Po tem se lahko vrnete v glavno okno Outlooka in pritisnete tipki »Alt + F11«.
- Nato v oknu »Microsoft Visual Basic for Applications« poiščite in odprite projekt »ThisOutlookSession«.
- Nato v ta projekt kopirajte in prilepite naslednjo kodo 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
- Po tem morate podpisati to kodo.
- Kasneje spremenite nastavitve makra v Outlooku, da omogočite podpisane makre.
- Od zdaj naprej bo Outlook vsakič, ko kliknete gumb »Pošlji« za pošiljanje e-pošte, prepoznal prejemnika in samodejno vstavil ustrezen podpis na koncu telesa e-pošte.
Bodite pozorni na skrite zlonamerne makre v dohodni e-pošti
Dandanes so virusi postali zelo zreli in močni. V elektronski pošti jih vedno prikrijejo kot neškodljive stvari. Torej, zdaj, ko nameravate uporabiti makre v Outlooku, morate biti pozorni na zlonamerne makre. V nasprotnem primeru bodo vaši podatki PST ogroženi. Če se PST pokvari, se boste potrudili po najboljših močeh obnoviti PST podatke. V tem primeru je priporočljivo uporabiti močno orodje, kot je npr DataNumen Outlook Repair.
Uvod avtorja:
Shirley Zhang je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z sql popravek in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com

