Hallo!
Mit Hilfe dieser Function löse ich die Gruppenmitglieder bestehenden Gruppen auf.
Leider wird mir immer der Notes Fullname zurückgegeben. (CN=Hans Otto.....)
Wie kann ich den Common-Name erhalten ?
Function getPersonMembers(groupName As String) As Variant
Dim nab As New NotesDatabase("","names.nsf")
Dim grpView As NotesView, personView As NotesView
Dim doc As NotesDocument , doc2 As NotesDocument
Dim namesList As Variant
Dim memberList() As String
Dim grpname As NotesName
If nab.Server = "" Then
Set nab = New NotesDatabase("srv","names.nsf")
End If
Set grpView = nab.GetView("Groups")
Set personView = nab.GetView("($VIMPeople)")
Set doc = grpView.GetDocumentByKey(groupName)
If doc Is Nothing Then
getPersonMembers = leer
Else
Redim memberList(0) As String
If Not doc Is Nothing Then
Forall mbrs In doc.members
Set grpname = New NotesName(Cstr(mbrs))
Set doc2 = personView.GetDocumentByKey(grpname.Common)
tmnE = 0
Forall i In memberList
tmnE = tmnE + 1
End Forall
x = 0
If doc2 Is Nothing Then
namesList = getPersonMembers(grpname.Common)
If Ubound(namesList) > 0 Then
Redim Preserve memberList(0 To tmnE + Ubound(namesList))
Forall nms In namesList
memberList(tmnE + x) = Cstr(nms)
x=x+1
End Forall
End If
Else
Redim Preserve memberList(0 To tmnE + x)
memberList(tmnE + x) = Cstr(mbrs)
End If
End Forall
Else ' entry is either a person or a mail in db.
t = 0
Forall i In memberList
t = t + 1
End Forall
Redim Preserve memberList(t)
memberList( t) = Cstr(groupName)
End If
getPersonMembers = memberList
End If
End Function