Autor Thema: Mitglieder einer Verteilergruppe per VBA auslesen? Notes 9.0.1FP8  (Gelesen 1080 mal)

Offline big-boot

  • Frischling
  • *
  • Beiträge: 8
Hallo zusammen,

wir arbeiten mit vielen Gruppen und die Pflege ist etwas desolat organisiert.
Daher würde ich gerne die Mitglieder einer Gruppe per VBA auslesen und diese dann in einer vorhandenen Access-DB weiter verarbeiten.
Besteht da eine Möglichkeit?

LG
big-boot
1:Was ist das?
2:Das ist blaues Licht.
1:Und was macht es?
2:Es leuchtet blau!

Offline CarstenH

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
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.

Code
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.
« Letzte Änderung: 29.08.23 - 12:39:03 von CarstenH »

Offline big-boot

  • Frischling
  • *
  • Beiträge: 8
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...
Code
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
1:Was ist das?
2:Das ist blaues Licht.
1:Und was macht es?
2:Es leuchtet blau!

Offline CarstenH

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
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.

Code
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

Offline big-boot

  • Frischling
  • *
  • Beiträge: 8
Hallo Carsten,

genial. So funktioniert es wie ich es brauche.
Damit kann ich mir die User alle ausgeben und in eine Tabelle schreiben. Danach kann ich dann diese Daten zum abgleichen weiter verarbeiten.

Vielen Dank für die Unterstützung.

Gruß bb
1:Was ist das?
2:Das ist blaues Licht.
1:Und was macht es?
2:Es leuchtet blau!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
(Dumme) Frage. Was macht MS Access denn mit den Daten, was man nicht auch direkt im Notes machen kann? Werden da Daten aus anderen Quellen verknüpft, oder nimmt Du MS Abzess nur, weil Du Dich damit auskennst. So wie andere Anwender, die ihre Textverarbeitung in Excel machen. Ja, die gibt es …


Vor allem, was passiert dann mit den Erkenntnissen? Wie kommen evtl. Anpassungen wieder in Richtung Notes?
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz