Mnoho uživatelů doufá, že Outlook dokáže automaticky přesouvat a archivovat příchozí e-maily do konkrétních poštovních složek podle názvů souborů příloh. V tomto článku vám proto ukážeme rychlý způsob, jak jej získat pomocí aplikace Outlook VBA.
Pokud si přejete automaticky přesouvat příchozí e-maily do konkrétních složek podle názvů souborů jejich příloh, určitě vás na prvním místě napadne použít pravidlo aplikace Outlook. Nakonec však zjistíte, že pravidlo Outlooku nemá funkci pro kontrolu názvu souboru přílohy. Proto, pokud byste to opravdu chtěli realizovat, musíte použít jiné způsoby, například prostřednictvím doplňku třetí strany nebo Outlook VBA. Zde vás tedy naučíme, jak toho dosáhnout pomocí VBA. Čtěte dále a získejte podrobné operace a konkrétní kódy VBA.

Automaticky přesouvat příchozí e-maily do konkrétních složek na základě příloh
- Pro začátek spusťte program Outlook jako obvykle.
- Poté stisknutím kláves „Alt + F11“ otevřete editor VBA.
- V následujícím okně „Microsoft Visual Basic for Applications“ můžete najít a poklepat na projekt „ThisOutlookSession“ na levé straně.
- Dále v otevřeném okně projektu „ThisOutlookSession“ zkopírujte a vložte následující kódy VBA.
Public WithEvents objMails As Outlook.Items
Private Sub Application_Startup()
Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub objMails_ItemAdd(ByVal Item As Object)
Dim objMail As Outlook.MailItem
Dim objAttachments As Outlook.attachments
Dim objAttachment As Outlook.Attachment
Dim strAttachmentName As String
Dim objInboxFolder As Outlook.Folder
Dim objTargetFolder As Outlook.Folder
'Ensure the incoming item is an email
If TypeOf Item Is MailItem Then
Set objMail = Item
Set objAttachments = objMail.attachments
'Check if the incoming email contains one or more attachments
If objAttachments.Count > 0 Then
For Each objAttachment In objAttachments
strAttachmentName = objAttachment.DisplayName
Set objInboxFolder = Application.Session.GetDefaultFolder(olFolderInbox)
'Check the names of all the attachments
'Specify the target folders
If InStr(LCase(strAttachmentName), "worklog") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("WorkLog")
ElseIf InStr(LCase(strAttachmentName), "report") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("Report")
ElseIf InStr(LCase(strAttachmentName), "statistics") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("Statistics")
End If
Next
'Move the email to specific folder
objMail.Move objTargetFolder
End If
End If
End Sub
- Následně je potřeba digitálně podepsat nový projekt VBA.
- Nejprve můžete použít vestavěný nástroj – Digitální certifikáty pro projekty VBA pro vytvoření osobního certifikátu.
- Poté v editoru VBA klikněte na panelu nástrojů na „Nástroje“ > „Digitální podpis“.
- Poté jej podepište podle pokynů na obrazovce.
- Poté můžete ukončit editor VBA a změnit zabezpečení maker aplikace Outlook na nízké.
- Později byste měli restartovat Outlook, abyste aktivovali nový projekt VBA.
- Nakonec, od této chvíle, bude Outlook automaticky kontrolovat názvy souborů příloh všech příchozích e-mailů a přesunout ty konkrétní do konkrétních složek.
Chraňte svá data PST
Je téměř nepochybným faktem, že Outlook je náchylný k poškození. Proto je ochrana dat PST před poškozením poměrně náročným úkolem. Přesto existují určitá pravidla a tipy. Například, abyste zabránili ztrátě dat PST, můžete pokračovat v pravidelném zálohování dat. Navíc, abyste po havárii Outlooku mohli okamžitě pomoci, můžete si připravit zkušeného pomocníka. Oprava PST nástroj, jako DataNumen Outlook Repair.
Úvod autora:
Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně SQL Server obnova a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com

