Beispiel, wie man per VBA die Gruppenmitglieder "Members" der Gruppe "Test" aus dem persönlichen Adressbuch des aktiven Notes-Benutzers auslesen kann. Das Script habe ich mit den aktuellen Versionen von Access (Version 2210 Build 16.0.15726.20188 64 Bit) und Notes (12.0.2FP2 32 Bit) getestet. Es sollte aber auch unverändert mit älteren Notes-Versionen, wie bei dir 9.x, funktionieren.
Sub Test()
Dim session As Object
Dim dbAdr As Object
Dim vwGroups As Object
Dim docGroup As Object
Set session = CreateObject("Notes.NotesSession")
'Call session.Initialize
Set dbAdr = session.GetDatabase("", "names.nsf")
Set vwGroups = dbAdr.GetView("($VIMGroups)")
Set docGroup = vwGroups.GetFirstDocument
While Not (docGroup Is Nothing)
If docGroup.GetFirstItem("ListName").Text = "Test" Then
MsgBox docGroup.GetFirstItem("Members").Text
'Else
' MsgBox docGroup.GetFirstItem("ListName").Text
End If
Set docGroup = vwGroups.GetNextDocument(docGroup)
Wend
Set session = Nothing
End Sub
HTH
Carsten
Edit: nachdem ich nochmal in einem anderen Zusammenhang etwas kontrollieren musste habe ich festgestellt, dass ich das 64-Bit Office installiert habe. Es funktioniert spannenderweise also auch übergreifend mit 64-Bit Office und 32-Bit Notes.
Hallo Carsten,
funktioniert bestens. Nun ist es so dass die Gruppen zentral in einem Adressbuch gepflegt werden.
Wie könnte man das anstellen?
Ich stelle mir das so vor...
Set dbAdr = session.GetDatabase("", "server00/.../adrbuch.nsf")
Funktioniert aber so nicht...
Würde das auch irgendwie funktionieren wenn ich den Pfad zu dem zentralen Adressbuch kenne?
Danke vorab.
Gruß BB
Die Methode GetDatabase der NotesSession-Class hat zwei Parameter, der erste ist der Server, der zweite der relative Pfad inkl. Dateiname der Datenbank um die es geht. Beim Server reicht meist schon der allgemeine Name, also der Teil links vom ersten Slash. In meinem Beispiel lag das Adressbuch lokal, also auf keinem Server, daher habe ich den Parameter leer gelassen.
Set dbAdr = session.GetDatabase("server00", "adrbuch.nsf")
Am besten schaust du dir mal die Scriptklassen an, das ist ähnlich wie VBA aufgebaut und sollte dir weiterhelfen, die Beispiele sind meist selbsterklärend.
https://help.hcltechsw.com/dom_designer/12.0.2/basic/H_GETDATABASE_METHOD.html
Etwas aufpassen musst du bei den Datentypen und Variablen, hier gibt es so einige Unterschiede, wenn man per VBA zugreift.
Und last but not least - Notes ist ein völlig anderes Konstrukt als Access, auch wenn es bei beiden Datenbanken, Formulare und Views gibt und man als Laie der Versuchung erliegen kann, es gleichzusetzen.
HTH
Carsten