Microsoft Outlook troubleshooting

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.

Komentarze

Komentarze
Leszek Stefański
Leszek Stefański 2012-10-11 11:21:10
Jeśli chodzi o automatyczne wysyłanie ukrytej kopii wiadomości (UDW/BCC) na inny adres, podane wyżej makro działa tylko w przypadku wysyłania wiadomości z poziomu Outlooka. Natomiast kiedy tworzymy dokument w Wordzie 2010 i dajemy polecenie "Zapisz i wyślij", dalej "Wyślij za pomocą poczty email", dalej "Wyślij jako załacznik" lub "Wyślij jako PDF", procedura ta już nie działa mimo, że zarówno w Outlooku 2010 i Wordzie wszystkie makra są dozwolone oraz mimo, że w opcjach Worda jest włączona opcja "Ufaj dostępowi do modelu obiektowego projektu VBA". Bardzo chciałbym ten problem rozwiązać, tylko nie mam pojęcia jak. Wdzięczny będę za poradę. Pozdrawiam
Rafał Kobus
Rafał Kobus, FEVO.PL 2012-11-16 13:10:24
Dzięki zawsze myślałem że żeby przenieść reguły muszę skopiować drzewo w regedit. Dobra robota i dzięki.
Tomasz Rybi
Tomasz Rybi, Tomex 2014-01-09 12:01:04
Dziękuję za wskazówki, ale mam pewien problem. Plik z regułami (moje dotyczą tylko przenoszenia do odpowiednich folderów w skrzynce odbiorczej odpowiednich nadawców) zaimportowały się w nowym Outlooku (2007), tylko po naciśnięciu Zastosuj lub Ok, wyświetla się komunikat: "W niektórych regułach nie ustawiono wszystkich opcji. Jeżeli reguły zostaną zapisane, reguły z brakującymi opcjami zostaną dezaktywowane. Czy chcesz zapisać reguły?" Po naciśnięciu tak reguły pozostaną, ale ze skasowanym folderem, gdzie mają się przenieść. Co zrobić, aby wszystko grało?
Oskar
Oskar, VBATools.pl 2014-03-18 11:21:08
Tomek, prawdopodobnie masz inną strukturę folderów, to też niektóre z reguł mogą nie działać. Musisz utworzyć brakujące foldery a następnie aktywować reguły ręcznie. Więcej informacji na Forum.
Paweł
Paweł 2014-07-07 10:51:48
Witam. Wstawilem formułe dotyczaca UDW do outlooka i wszystko ladnie dzialalo przez miesiac teraz regula sie wylacza i trzeba ja recznie uruchamiac. Ktos tak ma?