VBATools

Przenoszenie i budowa niestandardowych reguł Outlooka.

by on Jun.21, 2010, under Outlook, Porady

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 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 sparametryzować lub przerobić na funkcje
End Sub

Na forum Outlook.pl możemy odszukać wiele przydatnych instrukcji  i procedur.

 

(c) 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.
:, , , ,

1 Comment for this entry

  • Norek

    Wielkie dzięki za makro wysyłajace ukrytą kopię. Juz szukałem programów do edytowania plików reguł rwz Outlooka ale to rozwiązanie z makrem jest super.
    Dzięki

Leave a Reply