![]() |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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