
Przenoszenie i budowa niestandardowych reguł Outlooka
tagi: makro, administracja, reguła
0 komenarze | Dodaj komentarz
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.
Shon Oskar – www.VBATools.pl
© Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.
