Microsoft Outlook troubleshooting

W dzisiejszych czasach (w dobie powszechnie dostępnych darmowych kont pocztowych), większość osób posiada więcej niż jedno konto email. W przypadku kont POP wszystkie wiadomości wędrują po wysłaniu do folderu „Wysłane elementy”. Nie dla każdego takie rozwiązanie jest zadowalające. Można oczywiście grupować pocztę po nazwie konta i sortować po dacie, aby zachować porządek (Rys.1), lub całkowicie rozdzielić wysyłaną pocztę. Lecz również ta opcja nie jest w pełni wystarczająca.

 Wysłane elementy
Rys.1. Grupowanie po nazwie konta z sortowaniem po dacie.

Outlook posiada dość dobrze wyposażonego kreatora reguł, lecz niestety opcji dotyczących poczty wychodzącej jest niewiele. Nie ma np. opcji przenoszenia wiadomości po wysłaniu. Użytkownik jest zmuszony do przenoszenia wiadomości ręcznie.

Poniższa procedura przenosi wiadomości do podfoldera „Wysłanych elementach”. Aby zilustrować przykład stworzony został folder o nazwie "VBATools Send Items", którego nazwa znajduje się w kodzie.

Utworzenie podfolderu
Rys.2. Utworzenie podfolderu elementów wysłanych.

Aby osadzić kod VBA należy otworzyć moduł deweloperski (Alt+F11) i osadzić poniższy kod w klasie "ThisOutlookSession":

Option Explicit
Private WithEvents oSentItems As Items

Private Sub Application_Startup()
Set oSentItems = Application.GetNamespace("MAPI"). _ GetDefaultFolder(olFolderSentMail).Items
End Sub

Private Sub oSentItems_ItemAdd(ByVal Item As Object)
    'Warunek na konto (pole "Imię i Nazwisko" z konfiguracji konta)
    'dla przykładu moje nazywa się: VBATools
    If Item.SenderName = "VBATools" Then

        'lub można określić warunek na adres odbiorcy, którego nie rozważamy
        'If item.To = "John.Doe@Redmond.com" Then

Item.Move Application.GetNamespace("MAPI"). _ GetDefaultFolder(olFolderSentMail).Folders("VBATools Send Items")
    End If
End Sub

Po osadzeniu kodu należy pamiętać o ponownym uruchomieniu aplikacji, wraz z zapisem projektu.
 

Wysylanie wiadomości
Rys.3. Wysyłanie wiadomości z konta o nazwie określonego w kodzie.

Aby procedura zadziałała należy ustawić zabezpieczenia Outlooka tak, aby makra były automatycznie respektowane. Kod był testowany na wersji 2007/2010 na kontach POP.

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.

Komentarze

Komentarze
marcin
marcin 2012-04-14 02:50:41
mam podpiętych kilka skrzynek pocztowy. Uruchomiłem opisane w artykule makro i działa ono w ten sposób, że przenosi wysłaną wiadomość do wskazanego podfolderu w wysłanych (ale mojej głównej skrzynki). Pytanie jak zrobić by wiadomość przenosiła się do foldru "wysłane" ale skrzynki która jest jako nadawca?

Dodaj komentarz

Dodaj komentarz
    Komentarz
Imię i nazwisko

Firma
Adres email
Podaj sumę cyfr 4 i 5:
Powiadamiaj mnie o nowych komentarzach do tego artykułu (musisz podać prawidłowy adres email).