Mnoho používateľov dúfa, že program Outlook môže v e-mailoch automaticky vyberať rôzne podpisy pre rôznych príjemcov. Tento článok teda naučí, ako to realizovať pomocou VBA.
Predvolene umožňuje Outlook iba automatické vkladanie meniaceho sa podpisu do nových e-mailov, odpovedí a preposielania. Mnoho ľudí však dokonca dúfa, že Outlook môže automaticky vyberať rôzne podpisy pre rôznych príjemcov. Outlook, bohužiaľ, takúto priamu funkciu neposkytuje. Musíte teda hľadať iné spôsoby, ako sú doplnky tretích strán alebo kód VBA. Teraz vám v nasledujúcich krokoch predstavíme kúsok kódu VBA, ktorý vám pomôže uvedomiť si ho ako vánok.

Automaticky zvoliť rôzne podpisy pre rôznych príjemcov
- Najprv by ste mali spustiť program Outlook.
- Potom by ste mali radšej vypnúť funkciu automatického vkladania podpisu.
- Najskôr choďte do ponuky „Súbor“ a vyberte „Možnosti“.
- V okne „Možnosti programu Outlook“ prepnite na kartu „Pošta“.
- Potom nájdite a kliknite na tlačidlo „Podpisy“.
- Ďalej v rozbaľovacom dialógovom okne nastavte „(žiadne)“ v položke „Nové správy“ aj „Odpovede / preposielanie“.
- Potom kliknite na sériu „OK“, aby ste uložili zmeny.
- Potom sa môžete vrátiť do hlavného okna Outlooku a stlačiť klávesy „Alt + F11“.
- Ďalej v okne „Microsoft Visual Basic for Applications“ vyhľadajte a otvorte projekt „ThisOutlookSession“.
- Následne skopírujte a prilepte nasledujúci kód VBA do tohto projektu.
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
- Potom by ste mali podpísať tento kód.
- Neskôr zmeňte nastavenie makier Outlooku, aby ste povolili podpísané makrá.
- Odteraz bude Outlook pri každom kliknutí na tlačidlo „Odoslať“ identifikovať príjemcu a automaticky vloží zodpovedajúci podpis na koniec tela e-mailu.
V prichádzajúcich e-mailoch si dajte pozor na skryté škodlivé makrá
V súčasnej dobe sú vírusy veľmi vyspelé a silné. V e-maile ich vždy maskujú ako neškodné veci. Preto teraz, keď plánujete používať makrá v programe Outlook, mali by ste zvýšiť svoju ostražitosť pred škodlivými makrami. V opačnom prípade budú vaše údaje PST udržané v riziku. Ak dôjde k poškodeniu PST, budete sa snažiť čo najlepšie obnoviť PST údaje. V takom prípade sa odporúča použiť silný nástroj, ako je napr DataNumen Outlook Repair.
Úvod autora:
Shirley Zhang je expertkou na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane opraviť sql a výhľadové softvérové produkty na opravu. Pre viac informácií navštívte www.datanumen. S

