VBATools

Lista folderów Outlooka

by on Feb.21, 2012, under Outlook, Porady

Poniżej znajduje się kod, który zwraca w oknie immediate [Ctrl+G] nazwy folderów. Ciekawą w jej konstrukcji jest zapętlenie wywołania funkcji, która sama wywołuje “siebie”, aby pobrać dane folderu podrzędnego.

W czym kod ten może być przydatny? Otóż do tworzenia archiwizacji czy eksportu danych do baz danych z zachowaniem pełnej struktury zapisu.

Sub OutlookFolders()
 Dim olNamespace As Outlook.NameSpace
 Dim olFolder As Outlook.Folders
 Dim objFolder As Outlook.MAPIFolder

 Set olNamespace = Application.GetNamespace("MAPI")
 Set olFolder = olNamespace.Folders

 For Each objFolder In olFolder
   Call LoopFolders(objFolder.Folders)
 Next

 Set olNamespace = Nothing
 Set olFolder = Nothing
End Sub

Private Sub LoopFolders(Folders As Outlook.Folders)
 Dim Fold As Outlook.MAPIFolder

 For Each Fold In Folders
   Debug.Print Fold.FolderPath
   DoEvents
   If Fold.Folders.Count Then _
     LoopFolders Fold.Folders 
 Next
End Sub

OL_Lista_folderow

Rys 1. Lista folderów.

 

Aby pobrać jedynie nazwę bez ścieżki należy zamiast FolderPath pobrać parametr Name lub w obecnym wymiarze pobrać funkcją InStrRev miejsce znaku “”

 

(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

Recently Active Members

Profile picture of vbatools
Profile picture of Joanna Subik
Profile picture of Karol Stilger
Profile picture of Anorak
Profile picture of marcinmachalowski
Profile picture of programistaaccess
Profile picture of piotrpawlik
Profile picture of Emil Wasilewski
Profile picture of kicekpicek
Profile picture of coldfusion
Profile picture of Gosia Borzęcka
Profile picture of lukaszch
Profile picture of itadministracja
Profile picture of farbenia
Profile picture of Łukasz Kałużny
Profile picture of kabzinski
Profile picture of rtynski
Profile picture of leszekbetlinski
Profile picture of Iv
Profile picture of Justyna Spychała