View Single Post
  #2  
Old November 15th 07, 02:56 PM posted to microsoft.public.outlook.program_vba
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default makro for adressing more folders

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

Ads