Spojrzałem wysoko i nisko na wszystkie te części potrzebne do tego prostego filtra. Dla porównania, uniksowe filtry procmail są tak łatwe w użyciu. Wszystkie kreatory Microsoft Outlook stają na drodze do prostego filtra za pomocą symboli wieloznacznych. Podczas gdy wiele warunków filtrowania wiadomości e-mail Microsoft domyślnie jest użytecznych, nic nie może przebić elastyczności i możliwości dostosowania działającego kodu.
- Napisz swój kod.
Alt-F11 wywołuje edytor kodu VBA. Kliknij dwukrotnie ThisOutlookSession. Napisz swój kod. W moim przypadku używa wyrażenia regularnego w wierszu tematu i przenosi go nie do DefaultFolder, ale mój własny plik pst w podfolderze.
Sub filter(Item As Outlook.MailItem)
Dim ns As Outlook.NameSpace
Dim MailDest As Outlook.Folder
Set ns = Application.GetNamespace("MAPI")
Set Reg1 = CreateObject("VBScript.RegExp")
Reg1.Global = True
Reg1.Pattern = "(.*Abc.20.*)"
If Reg1.Test(Item.Subject) Then
Set MailDest = ns.Folders("Personal Folders").Folders("one").Folders("a")
Item.Move MailDest
End If
End Sub
- Uruchom kod dla każdej przychodzącej wiadomości e-mail za pomocą reguły.
Zgodnie z regułami wybierz „Zarządzaj regułami i alertami ...”. Nowa zasada będzie wyglądać
Apply this rule after the message arrives run Project1.ThisOutlookSession.filter
Aby to zrobić, w kroku 1: Wybierz warunki: kliknij przycisk Dalej. Potwierdź, że dotyczy wszystkich wiadomości, klikając OK. W polu Wybierz akcję zaznacz „uruchom skrypt”, a następnie kliknij, aby wybrać skrypt filtru i wybierz Dalej lub Zakończ. W polu Wybierz wyjątki kliknij przycisk Dalej lub Zakończ. Nadaj mu dobrą nazwę, np. Vba-filter i zaznacz Włącz tę regułę. kliknij Zakończ. Ponieważ program kopiuje się do folderu lokalnego, kliknij przycisk OK, gdy pojawi się monit o potwierdzenie, że reguła nie będzie działać w przypadku wiadomości e-mail sprawdzanych online lub z innego urządzenia. Kliknij przycisk OK w oknie dialogowym Reguły i alerty.
- Outlook nie lubi, gdy makra nie są podpisane. Aby samodzielnie podpisać makra, utwórz certyfikat i użyj go .