VBATools

Przeniesienie wysłanej poczty do innego folderu

by on Oct.20, 2010, under Outlook, Porady

W dzisiejszych czasach (w dobie powszechnie dostępnych i darmowych kontach pocztowych), większość osób posiada więcej niż jedno konto.

W przypadku kont POP wszystkie wiadomości wędrują po wysłaniu do folderu „Wysłane elementy”. Nie wszystkim ten stan odpowiada. Można oczywiście grupować pocztę po nazwie konta i sortować po dacie zarazem, aby zachować porządek (rys 1), ale nie wszystkim to wystarczy. Niektórzy chcieli całkowicie rozdzielić wysyłaną pocztę.

OL_Sortowanie_konto

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 da się ustawić przeniesienia wiadomości po wysłaniu. Użytkownik jest zmuszony do przenoszenia wiadomości ręcznie.

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

OL_NewSubFolder_PL

Rys 2. Utworzenie podfolderu elementów wysłanych. (wer ENG 2010)

Aby osadzić kod VBA należy otworzyć developera (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)
'MVP OShon from VBATools.pl
'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.

OL_NewSubFolder_2_PL

Rys 3. Wysyłanie wiadomości z konta o nazwie określonego w kodzie. (wer ENG 2010)

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

 

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

Leave a Reply