Results 1 to 2 of 2

Thread: Outlook Folders don't GetNext

  1. #1

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 2004
    Posts
    297

    Outlook Folders don't GetNext

    Hi,
    I want to display the outlookfolders into a treeview.
    So far I got this,
    but the GetNext doesn't work and here it stays on Inbox...
    The Treeview is 'T'

    VB Code:
    1. Private Sub OutlookFolders_Load()
    2.         Dim OutlApp As Outlook.Application
    3.         Dim oNS As Outlook.NameSpace
    4.         Dim oFolder As Outlook.MAPIFolder
    5.  
    6.         OutlApp = CreateObject("Outlook.Application")
    7.         oNS = OutlApp.GetNamespace("MAPI")
    8.         oFolder = oNS.Folders.GetFirst
    9.  
    10.         Dim tn As TreeNode
    11.         Do While Not oFolder Is Nothing
    12.             tn = New TreeNode
    13.             tn.Text = oFolder.Name
    14.             T.Nodes.Add(tn)
    15.             If Not oFolder.Folders.Count = 0 Then GetFolders(oFolder, tn)
    16.             oFolder = oNS.Folders.GetNext
    17.         Loop
    18.  
    19.     End Sub
    20.     Private Sub GetFolders(ByVal F As Outlook.MAPIFolder, ByVal HN As TreeNode)
    21.         Dim tn As TreeNode
    22.         Dim oFolder As Outlook.MAPIFolder = F.Folders.GetFirst
    23.  
    24.         Dim i As Integer
    25.         oFolder = F.Folders.GetFirst
    26.         For i = 0 To F.Folders.Count - 1
    27.             tn = New TreeNode
    28.             tn.Text = oFolder.Name
    29.             HN.Nodes.Add(tn)
    30.             GetFolders(oFolder, tn)
    31.             oFolder = F.Folders.GetNext
    32.         Next
    33.  
    34.     End Sub
    And I just want the folders.
    I didn't thought it was so hard...

  2. #2

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 2004
    Posts
    297

    Talking Got some slution and it works...

    T is the treeView...

    VB Code:
    1. Private m as Integer 'for the tag in the treenodes; 0 is the first nodes, 1 the second etc.
    2.  
    3. Private Sub FormOutlookFolders_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4.         Dim OutlApp As Outlook.Application
    5.         Dim oNS As Outlook.NameSpace
    6.         Dim oFolder As Outlook.MAPIFolder
    7.         Dim InFolder As Outlook.Folders
    8.  
    9.         Dim FirstFolder As Outlook.Folders
    10.         Dim FirstFolder2 As Outlook.Folders
    11.  
    12.         OutlApp = CreateObject("Outlook.Application")
    13.         oNS = OutlApp.GetNamespace("MAPI")
    14.  
    15.         FirstFolder = oNS.Folders
    16.         FirstFolder2 = oNS.Folders
    17.         oFolder = FirstFolder.GetFirst()
    18.         InFolder = oFolder.Folders
    19.         FirstFolder.GetFirst()
    20.         FirstFolder2.GetFirst()
    21.  
    22.     m = 0
    23.  
    24.         Dim tn As TreeNode
    25.         Do Until FirstFolder Is Nothing
    26.             Try
    27.                 tn = New TreeNode
    28.                 tn.Text = oFolder.Name
    29.                 tn.Tag = m
    30.                 T.Nodes.Add(tn)
    31.  
    32.                 If Not oFolder.Folders.Count = 0 Then GetFolders(InFolder, tn)
    33. Again:
    34.                 oFolder = FirstFolder2.GetNext()
    35.                 If oFolder Is Nothing Then Exit Do
    36.                 InFolder = FirstFolder.GetNext.Folders
    37.             Catch ex As Exception
    38.                 GoTo Again
    39.             End Try
    40.         Loop
    41.     End Sub
    42.  
    43.     Private Sub GetFolders(ByVal FirstFolder As Outlook.Folders, ByVal HN As TreeNode)
    44.         m += 1
    45.         Dim tn As TreeNode
    46.         Dim oFolder As Outlook.MAPIFolder = FirstFolder.GetFirst
    47.         Do Until oFolder Is Nothing
    48.             tn = New TreeNode
    49.             tn.Text = oFolder.Name
    50.             tn.Tag = m
    51.             HN.Nodes.Add(tn)
    52.             If Not oFolder.Folders.Count = 0 Then HaalFolders(FirstFolder.GetFirst.Folders, tn)
    53.             oFolder = FirstFolder.GetNext
    54.         Loop
    55.         m -= 1
    56.     End Sub

    Anyone knows a better solution?
    You see I got a 2 folder construction, maybe one to much,
    but I don't know how.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width