Questa Funzione trovata in rete, genera
una lista di tutti gli utenti di un gruppo presenti nella NAB. Il codice
determina il nome di una persona o gruppo, e nel caso sia un gruppo, il
codice ricerca le persone appartenenti allo stesso. Il codice si avvale
dell'utilizzo delle funzione ricorsive.
********************************************************************
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("Servername","names.nsf")
End If
Set grpView = nab.GetView("Groups")
Set personView = nab.GetView("($VIMPeople)")
Set doc = grpView.GetDocumentByKey(groupName)
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 = Elements(memberList)
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 = Elements(memberlist)
Redim Preserve memberList(t)
memberList( t) = Cstr(groupName)
End If
getPersonMembers = memberList
End Function
********************************************************************
Script per ottenere la lista di tutti gli utenti appartenenti ad un GRUPPO
- 05/18/2005
- 0 commenti
0 Commenti:
Nessun Commento Trovato