Toon posts:

[VBA/Outlook] Members van een groep zonder subgroepen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb onderstaand programma gevonden op google. Het dient om contactpersonen uit te lezen van outlook adresboek. Het werkt prima behalve dat ik geen onderliggende groepen krijg! Dan krijg ik "Unknown".

Iemand suggesties?

Code:

Option Explicit
'-----
Private Sub Command1_Click()
Dim olApp As Outlook.Application
Dim contacts As Outlook.MAPIFolder
Dim i As Integer

Set olApp = New Outlook.Application
Set contacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
For i = 1 To contacts.Items.Count
If TypeOf contacts.Items.Item(i) Is DistListItem Then
List1.AddItem contacts.Items.Item(i)
End If
Next

Set contacts = Nothing
Set olApp = Nothing
End Sub

Private Sub List1_Click()
Dim olApp As Outlook.Application
Dim contacts As Outlook.MAPIFolder
Dim listContact As Outlook.Recipient
Dim distList As Outlook.DistListItem
Dim i As Integer

Set olApp = New Outlook.Application
Set contacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
Set distList = contacts.Items(List1.Text)
List2.Clear
For i = 1 To distList.MemberCount
Set listContact = distList.GetMember(i)
List2.AddItem listContact.Address
Next

Set listContact = Nothing
Set distList = Nothing
Set contacts = Nothing
Set olApp = Nothing
End Sub

  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Als ik het goed begrijp gaan distributielijsten met alleen maar personen goed, maar als er weer een distributielijst in zit dan werkt het niet goed.

Op zich klopt dat ook wel want daar wordt in de code ook geen rekening mee gehouden.
In de For loop in het stukje na de List2.Clear regel moet je weer controleren of de member een contacttype is of een dirlisttype en als het een dirlisttype is dan moet je bijvoorbeeld weer een nieuwe List3 listbox vullen net zoals de List2 listbox gevuld wordt in het List1_click-event.

En dan krijg jet het probleem, hoe ga je dat grafisch weergeven, want in principe kan er een distributielijst in een distributielijst in een distributielijst enz.. zitten.
Als je zeker weet dat er niet meer dan 2 niveaus zijn dan zou je kunnen volstaan met 3 listboxen.
Maar waarschijnlijk kan je dan beter overstappen op een treeview met daarnaast een listview.
In de treeview zet je dan alle distributielijsten in hun boomstructuur en in de listview zet je dan alle members van de geselecteerde distributielijst.

Ik hoop dat dit een beetje duidelijk is, zo niet laat dat dan even weten.

Verwijderd

Topicstarter
Hoe maak ik zo een treeview in visual basic?
Is dat ook in een listbox?

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 23:54
Verwijderd schreef op 04 november 2003 @ 09:12:
Hoe maak ik zo een treeview in visual basic?
Is dat ook in een listbox?
Nee, is een aparte control. Bekijk tools-additional controls en vink daar Microsoft Treeview control aan. Dan kan je'm gebruiken. Over treeview is veel documentatie te vinden op het net (zoek wel met VB ipv. VBA, 't is hetzelfde ding uiteindelijk)