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.

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.