
Przenoszenie i budowa niestandardowych reguł Outlooka
1. Przenoszenie reguł pomiędzy komputerami
Podczas przenoszenia repozytorium danych Outlooka (pliku PST) na inną jednostkę w nowej instalacji programu lub konieczność zastosowania wcześniej utworzonych reguł na komputerze w którym stosuje się pozostawianie wiadomości na serwerze (Dom – Praca) przydatne jest utworzenie tożsamych reguł. Czynność ta może być czasochłonna i może być problemem gdy przepisane reguły nie będą utworzone podobnie jak w systemie pierwotnym.
Aby temu zapobiec możemy skorzystać z Kreatora importu reguł. W Menu/Narzędzia/Reguły i alerty jest przycisk Opcje. Po jego uruchomieniu pojawi się ekran z dwoma funkcjami do wyboru: Export i import reguł. (Rys. 1.)
Rys. 1. Zapis i odczyt reguł zapisanych w formacie „Office Data File (.rwz)”
Tak zapisane reguły można bez przeszkód przenieść i zastosować na innej maszynie.
2. Makro, alternatywna metoda na tworzenie reguł.
Utworzenie reguły jest realizowane przez kreatora reguł, jednakże pomimo jego obszernych możliwości, zdarza się że brak jest reguły, która zaspokoiła by nasze oczekiwania. Outlook dzięki wbudowanemu edytorowi procedur VBA umożliwia zaprogramowanie czynności i podpięcie do procesu maili wychodzących.
Poniżej przedstawione procedury opisują „Wysłanie ukrytej kopii wiadomości na inny adres” oraz „Ostrzeżenie przed wysłaniem wiadomości bez tematu, z możliwością anulowania jej wysłania”.
Procedurę „Application_ItemSend” umieścić należy w klasie ThisOutlookSession i ponownie uruchom Outlook. Bez restartu instrukcje te nie będą realizowane.
Option Explicit Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Dim oRecip As Recipient Set oRecip = Item.Recipients.Add("adres@domena.pl") oRecip.Type = olBCC oRecip.Resolve Set oRecip = Nothing End Sub 'lub Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Dim strSubject$, Prompt$ strSubject = Item.Subject If Len(Trim(strSubject)) = 0 Then Prompt = "Temat jest pusty. Czy chcessz wysłać email?" If MsgBox(Prompt, vbYesNo + vbQuestion + vbMsgBoxSetForeground, "Sprawdzenie przed wysłaniem") = vbNo Then Cancel = True End If End If End Sub
W przypadku kiedy rozbudowujemy nasze reguły poczty wychodzącej, należy umieścić procedurę „Application_ItemSend” tylko jeden raz, a odwołać się w niej do reguł umieszczonych w osobnych procedurach. Np.:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Call Ukryta_Kopia Call Bez_tematu(Item, Cancel) 'niektóre procedury należy przerobić na funkcje End Sub
Na forum Outlook.pl możemy odszukać wiele przydatnych instrukcji i procedur.
Jeżeli temat przekazywania poczty jaki jest w pow. przykładzie was zainteresował, a podane rozwiązanie nie jest wystarczające z uwagi na mozliwą manipulację danymi, polecam rozwiązanie w formie dodatku COM realizującego ten sam cel, ale z możliwością blokady zmian. Szczegułowy opis dostępny na tej stronie.
MVP Shon Oskar – VBATools.pl
Jeśli masz pytania dot. tego artykułu zapraszam na Forum
Skonfiguruj swój pakiet dodatków do Excela, Worda, PowerPointa i Outlooka
© Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.