Autor Thema: Common-Name  (Gelesen 2972 mal)

Offline Hedwig14

  • Aktives Mitglied
  • ***
  • Beiträge: 221
Common-Name
« am: 21.01.09 - 16:45:30 »
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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Common-Name
« Antwort #1 am: 21.01.09 - 16:49:18 »
Bilde mit der NotesName-Klasse einen neuen NotesName. Die Property "Common" gibt dann das Gewünschte zurück.

Bernhard

Offline Hedwig14

  • Aktives Mitglied
  • ***
  • Beiträge: 221
Re: Common-Name
« Antwort #2 am: 21.01.09 - 16:51:02 »
das habe ich schon versucht !
ich hatte nur probleme beim Einbinden in das Script

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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Common-Name
« Antwort #3 am: 21.01.09 - 17:00:44 »
Das steht doch in der DesignerHelp ...

Offline Hedwig14

  • Aktives Mitglied
  • ***
  • Beiträge: 221
Re: Common-Name
« Antwort #4 am: 27.01.09 - 08:49:52 »
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!

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Common-Name
« Antwort #5 am: 27.01.09 - 09:46:01 »
Auf die Schnelle würde ich das mal so probieren.

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
   Dim person As NotesName

....

                  Redim Preserve memberList(0 To tmnE + Ubound(namesList))
                  Forall nms In namesList
                     Set person = New NotesName(Cstr(nms))
                     memberList(tmnE + x) = person.common
                     x=x+1
                  End Forall
               End If
            Else
               Redim Preserve memberList(0 To tmnE + x)
               memberList(tmnE + x) = Cstr(mbrs)
            End If   
         End Forall
...

End Function


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Hedwig14

  • Aktives Mitglied
  • ***
  • Beiträge: 221
Re: Common-Name
« Antwort #6 am: 28.01.09 - 09:25:58 »
@Axel: Vielen Dank ! Hat super geklappt !
Perfekt !

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz