ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Outlook & SubFolders coding (https://www.excelbanter.com/excel-programming/358159-outlook-subfolders-coding.html)

MSweetG222

Outlook & SubFolders coding
 
I am coding to retrieve emails from Outlook (date, subject, body, sender,
etc.) and store the info in excel for later processing.

My code works fine until I want to process an Outlook folder that is not on
the same level as the 2 levels I have coded below.
Set myFolderToProcess = olMAPI.Folders("MyName").Folders("Inbox").


I can modify the code to read:
Set myFolderToProcess =
olMAPI.Folders("MyName").Folders("Inbox").Folders( "Sales")
to add the 3rd level and it works - but this cannot be the correct way to do
it.

What is the proper way to code this when you have folders that may be 2, 3,
4 levels deep (and may vary of # of levels each time)?

Thank you,
MSweetG222


Steve Yandl

Outlook & SubFolders coding
 
The Folders property of an Outlook folder returns a collection of all the
subfolders of that folder (when you don't enter the name after ".Folders".
Then you can use a For Each....Next loop to set references to each of those
folders.

Steve


"MSweetG222" wrote in message
...
I am coding to retrieve emails from Outlook (date, subject, body, sender,
etc.) and store the info in excel for later processing.

My code works fine until I want to process an Outlook folder that is not
on
the same level as the 2 levels I have coded below.
Set myFolderToProcess = olMAPI.Folders("MyName").Folders("Inbox").


I can modify the code to read:
Set myFolderToProcess =
olMAPI.Folders("MyName").Folders("Inbox").Folders( "Sales")
to add the 3rd level and it works - but this cannot be the correct way to
do
it.

What is the proper way to code this when you have folders that may be 2,
3,
4 levels deep (and may vary of # of levels each time)?

Thank you,
MSweetG222




MSweetG222

Outlook & SubFolders coding
 
I figured it out. I just make a loop and keep the folder variable refer'ing
to itself.
Where myEmailFolderPath = "Inbox\Sales"

Set myFolderToProcess = olMAPI.Folders("MyName").
myEmailFolderPath = Split(EmailPath, "\")

For m = 0 To UBound(myEmailFolderPath)
Set myFolderToProcess = myFolderToProcess.Folders(myEmailFolderPath(m))
Next m

With this method, I can have as many layers as I need.
Thanks

Thx
MSweetG222



MSweetG222

Outlook & SubFolders coding
 
Thank you Steve.

MSweetG222

Damon

Outlook & SubFolders coding
 
I need to do exactly that!

I there any chance you would share the code you are using? Please!

"MSweetG222" wrote:

"I am coding to retrieve emails from Outlook (date, subject, body, sender,
etc.) and store the info in excel for later processing."



Damon

Outlook & SubFolders coding
 
Nevermind got my head round it in the end thanks to this forum leading me to
this page of Dicks Clicks: http://www.dicks-clicks.com/excel/olRetrieving.htm

"Damon" wrote:

I need to do exactly that!

I there any chance you would share the code you are using? Please!

"MSweetG222" wrote:

"I am coding to retrieve emails from Outlook (date, subject, body, sender,
etc.) and store the info in excel for later processing."




All times are GMT +1. The time now is 09:49 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com