Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Outlook and VBA (http://www.outlookbanter.com/outlook-vba/)
-   -   Folders & Subfolders (http://www.outlookbanter.com/outlook-vba/92453-folders-subfolders.html)

Marvin Buzz July 10th 09 12:30 AM

Folders & Subfolders
 
I am writing in Visual Basic, not VBA. I can write the code to identify all
of the subfolders in Outlook, but do not know how to program for the
subfolders of the subfolders...subfolders to any possible depth of subfolders.

Any samples or guidance would be very much appreciated.

Thanks in advance.


Sue Mosher [MVP][_3_] July 10th 09 12:48 AM

Folders & Subfolders
 
Each Folder in Outlook 2007 or MAPIFolder in earlier versions has a Folders
collection containing all its subfolders. Each subfolder in a Folders
collection has a unique name, so you can return any subfolder with an
expression like this:

myParentFolder.Folders("Name of subfolder")

The code sample at http://www.outlookcode.com/codedetail.aspx?id=628 shows
how to process all the folders below a given starting folder.

--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54


"Marvin Buzz" wrote in message
...
I am writing in Visual Basic, not VBA. I can write the code to identify
all
of the subfolders in Outlook, but do not know how to program for the
subfolders of the subfolders...subfolders to any possible depth of
subfolders.

Any samples or guidance would be very much appreciated.

Thanks in advance.




Alan Moseley July 10th 09 02:48 PM

Folders & Subfolders
 
You need to write a sub or function that is recursively called by itself.
For example:-

Public Sub ProcessAllFolders()
Dim fld As MAPIFolder
For Each fld In Application.GetNamespace("MAPI").Folders
Call ProcessFolder(fld)
Next fld
End Sub

Public Sub ProcessFolder(ByRef fld As MAPIFolder)
Dim subfld As MAPIFolder
'Do Something here
For Each subfld In fld.Folders
Call ProcessFolder(subfld)
Next subfld
End Sub

--
Alan Moseley IT Consultancy
http://www.amitc.co.uk

If I have solved your problem, please click Yes below. Thanks.


"Marvin Buzz" wrote:

I am writing in Visual Basic, not VBA. I can write the code to identify all
of the subfolders in Outlook, but do not know how to program for the
subfolders of the subfolders...subfolders to any possible depth of subfolders.

Any samples or guidance would be very much appreciated.

Thanks in advance.


Marvin Buzz July 10th 09 04:04 PM

Folders & Subfolders
 
I am getting a compiler error that says I cannot define user types.

"Alan Moseley" wrote:

You need to write a sub or function that is recursively called by itself.
For example:-

Public Sub ProcessAllFolders()
Dim fld As MAPIFolder
For Each fld In Application.GetNamespace("MAPI").Folders
Call ProcessFolder(fld)
Next fld
End Sub

Public Sub ProcessFolder(ByRef fld As MAPIFolder)
Dim subfld As MAPIFolder
'Do Something here
For Each subfld In fld.Folders
Call ProcessFolder(subfld)
Next subfld
End Sub

--
Alan Moseley IT Consultancy
http://www.amitc.co.uk

If I have solved your problem, please click Yes below. Thanks.


"Marvin Buzz" wrote:

I am writing in Visual Basic, not VBA. I can write the code to identify all
of the subfolders in Outlook, but do not know how to program for the
subfolders of the subfolders...subfolders to any possible depth of subfolders.

Any samples or guidance would be very much appreciated.

Thanks in advance.


Alan Moseley July 10th 09 04:13 PM

Folders & Subfolders
 
Firstly add a reference to Outlook within your project. Secondly import the
namespace before the beginning of your class, ie:-

Imports Microsoft.Office.Interop.Outlook

--
Alan Moseley IT Consultancy
http://www.amitc.co.uk

If I have solved your problem, please click Yes below. Thanks.


"Marvin Buzz" wrote:

I am getting a compiler error that says I cannot define user types.

"Alan Moseley" wrote:

You need to write a sub or function that is recursively called by itself.
For example:-

Public Sub ProcessAllFolders()
Dim fld As MAPIFolder
For Each fld In Application.GetNamespace("MAPI").Folders
Call ProcessFolder(fld)
Next fld
End Sub

Public Sub ProcessFolder(ByRef fld As MAPIFolder)
Dim subfld As MAPIFolder
'Do Something here
For Each subfld In fld.Folders
Call ProcessFolder(subfld)
Next subfld
End Sub

--
Alan Moseley IT Consultancy
http://www.amitc.co.uk

If I have solved your problem, please click Yes below. Thanks.


"Marvin Buzz" wrote:

I am writing in Visual Basic, not VBA. I can write the code to identify all
of the subfolders in Outlook, but do not know how to program for the
subfolders of the subfolders...subfolders to any possible depth of subfolders.

Any samples or guidance would be very much appreciated.

Thanks in advance.


Marvin Buzz July 10th 09 08:46 PM

Folders & Subfolders
 
Thanks for your response. I figured out how to add a reference, but I get an
error on the IMPORTS statement that I copied from your prior response. It
says sub or function not defined. I do not understand what you mean by my
"class". The code I am trying to execute is in a form run from VB.

Marvin

"Alan Moseley" wrote:

Firstly add a reference to Outlook within your project. Secondly import the
namespace before the beginning of your class, ie:-

Imports Microsoft.Office.Interop.Outlook

--
Alan Moseley IT Consultancy
http://www.amitc.co.uk

If I have solved your problem, please click Yes below. Thanks.


"Marvin Buzz" wrote:

I am getting a compiler error that says I cannot define user types.

"Alan Moseley" wrote:

You need to write a sub or function that is recursively called by itself.
For example:-

Public Sub ProcessAllFolders()
Dim fld As MAPIFolder
For Each fld In Application.GetNamespace("MAPI").Folders
Call ProcessFolder(fld)
Next fld
End Sub

Public Sub ProcessFolder(ByRef fld As MAPIFolder)
Dim subfld As MAPIFolder
'Do Something here
For Each subfld In fld.Folders
Call ProcessFolder(subfld)
Next subfld
End Sub

--
Alan Moseley IT Consultancy
http://www.amitc.co.uk

If I have solved your problem, please click Yes below. Thanks.


"Marvin Buzz" wrote:

I am writing in Visual Basic, not VBA. I can write the code to identify all
of the subfolders in Outlook, but do not know how to program for the
subfolders of the subfolders...subfolders to any possible depth of subfolders.

Any samples or guidance would be very much appreciated.

Thanks in advance.


Sue Mosher [MVP][_3_] July 11th 09 01:37 AM

Folders & Subfolders
 
You don't need an Imports statement in VB6, only in VB.NET.

--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54


"Marvin Buzz" wrote in message
...
Thanks for your response. I figured out how to add a reference, but I get
an
error on the IMPORTS statement that I copied from your prior response. It
says sub or function not defined. I do not understand what you mean by my
"class". The code I am trying to execute is in a form run from VB.

Marvin

"Alan Moseley" wrote:

Firstly add a reference to Outlook within your project. Secondly import
the
namespace before the beginning of your class, ie:-

Imports Microsoft.Office.Interop.Outlook

--
Alan Moseley IT Consultancy
http://www.amitc.co.uk

If I have solved your problem, please click Yes below. Thanks.


"Marvin Buzz" wrote:

I am getting a compiler error that says I cannot define user types.

"Alan Moseley" wrote:

You need to write a sub or function that is recursively called by
itself.
For example:-

Public Sub ProcessAllFolders()
Dim fld As MAPIFolder
For Each fld In Application.GetNamespace("MAPI").Folders
Call ProcessFolder(fld)
Next fld
End Sub

Public Sub ProcessFolder(ByRef fld As MAPIFolder)
Dim subfld As MAPIFolder
'Do Something here
For Each subfld In fld.Folders
Call ProcessFolder(subfld)
Next subfld
End Sub

--
Alan Moseley IT Consultancy
http://www.amitc.co.uk

If I have solved your problem, please click Yes below. Thanks.


"Marvin Buzz" wrote:

I am writing in Visual Basic, not VBA. I can write the code to
identify all
of the subfolders in Outlook, but do not know how to program for
the
subfolders of the subfolders...subfolders to any possible depth of
subfolders.

Any samples or guidance would be very much appreciated.

Thanks in advance.




Marvin Buzz July 12th 09 10:11 PM

Folders & Subfolders
 
Thanks to all who have responded. You have helped a great deal.


"Marvin Buzz" wrote:

I am writing in Visual Basic, not VBA. I can write the code to identify all
of the subfolders in Outlook, but do not know how to program for the
subfolders of the subfolders...subfolders to any possible depth of subfolders.

Any samples or guidance would be very much appreciated.

Thanks in advance.



All times are GMT +1. The time now is 12:43 AM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com