Each MAPIFolder object has a Folders collection that has any subfolders to
the parent folder. Once you have your parent folder, say TargetFolder you
can use its Folders collection to iterate each subfolder. Of course if those
subfolders have subfolders of their own you'd have to write a recursive
procedure to handle all of the subfolders and subfolders of subfolders. The
following example only shows digging down one level:
Dim lCount As Long
Dim oSub As Outlook.MAPIFolder
lCount = TargetFolder.Folders.Count
If lCount 0 Then
For Each oSub In TargetFolder.Folders
If oSub.DefaultItemType = SourceFolder.DefaultItemType Then
' whatever
End If
Next
End If
--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm
Leon Galushko ) wrote in message
...
Hi,
I have there a makro which make the same view settings from the chosen
"SOURCE FOLDER" for the chosen "TARGET FOLDER".
I want the adjastement in that way that if the "TARGET FOLDER" contains
some FOlDER more (UNDERFOlDER) like FOlDER "Mail" might contains
FOLDERS (JOB,
PRIVATE,
TO DO,
etc)
the view settings are equally changed for all this FOLDER's too. Have
somebody an idea how to adjust that makro to make it run for TARGET FOLDER
with more FOLDERS
Public Sub CopyView()
Dim TargetFolder As Outlook.MAPIFolder
Dim SourceFolder As Outlook.MAPIFolder
Set SourceFolder = Application.Session.PickFolder
If Not SourceFolder Is Nothing Then
Set TargetFolder = Application.Session.Folders(" ") ''' ???
'There are FOLDERS in the chosen FOLDER.
'TO DEFINE the chosen TargetFolder in the quotes
While Not TargetFolder Is Nothing
If TargetFolder.DefaultItemType = SourceFolder.DefaultItemType
Then
With TargetFolder.CurrentView
.XML = SourceFolder.CurrentView.XML
.Save
End With
Else
MsgBox "Source and target folder must be of the same type.",
vbInformation
End If
Set TargetFolder = Application.Session.PickFolder
Wend
End If
End Sub