Domino 9 und frühere Versionen > ND7: Entwicklung

Common-Name

(1/2) > >>

Hedwig14:
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

koehlerbv:
Bilde mit der NotesName-Klasse einen neuen NotesName. Die Property "Common" gibt dann das Gewünschte zurück.

Bernhard

Hedwig14:
das habe ich schon versucht !
ich hatte nur probleme beim Einbinden in das Script

Dim person as NotesName
Set person = New NotesName(???)

koehlerbv:
Das steht doch in der DesignerHelp ...

Hedwig14:
Hallo,
wie kann ich "Notesname" in die o.a. Formel einbinden, dass ich nicht den Notel-Fullname erhalte sondern den Common-Name ???

Danke für die Hilfe!

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln