2
www.ChF-Online.de  

Lotus Notes Adressbuch auslesen

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
 Verschiedenes
 Feld-Arbeiten
 Form-Sachen
 Menü-/Symbolleisten
aktiv aktiv VBA und Lotus Notes
aktiv  Lotus Notes Adressbuch
 Mailen via Lotus Notes
 VBA und Mail
 Inside VBAIDE
 Von Word nach Outlook
 Fix-und-Fertiges/Projekte
   Word2007 (RibbonX)
   Word2010 (RibbonX)
   Outlook-VBA
   Links zu VB(A)
   DocToHelp
   Netport Express XL
   Astronomie
   Gästebuch
   Volltextsuche
   Sitemap
   Buch:Word-Programmierung
   Impressum & Kontakt
   Datenschutzerklärung
Getestet unter Word97Getestet unter Word2000   Lotus Notes R5
Beispiel anzeigen
Makro/Datei speichern
Print

Wer Lotus Notes R5 (Private Edition) verwendet und dort seine Adressen im privaten Adressbuch pflegt, kann diese über das Notes-Objekt in VBA auslesen und z.B. in ein Word-Formular einfügen.

Dazu muss allerdings kein Verweis in der VBA-IDE auf die Lotus Notes Automation Classes gesetzt sein, sondern es reicht, wenn Lotus Notes auf dem Rechner korrekt installiert wurde. In diesem Fall wird über das NotesSession-Objekt eine Verbindung zu Lotus Notes hergestellt und auf die lokale Adressdatenbank zugegriffen.
Nur die zentrale Zugriffsroutine ist an dieser Stelle wiedergegeben und zeigt, wie auf die Datenbank und Ansicht zugegriffen wird und wie die verschiedenen Felder des Adressbuches ausgelesen werden.

Zum Download steht eine Userform bereit, in der sowohl die Anbindung und Anzeige der Adressbucheinträge enthalten sind als auch die _bergabe der einzelnen Daten nach Word in entsprechende Formularfelder (Das Beispiel zeigt die Userform mit einem ausgelesenen Adressbucheintrag).

adressbuch = "names.nsf"
ansicht = "People"
I = 0
Label11.Caption = sText1
'  
Set objNotes = GetObject("", "Notes.NotesSession")
If objNotes Is Nothing Then 
  Set objNotes = CreateObject("Notes.NotesSession")
End If 
Set LNdb = objNotes.GETDATABASE("", adressbuch)
Set LNview = LNdb.GETVIEW(ansicht)
Call LNview.Refresh
Set LNdoc = LNview.GETFIRSTDOCUMENT
ReDim lnarray(100, 50)
Do While Not LNdoc Is Nothing 
    Set Item = LNdoc.GETFIRSTITEM("lastname")
    Set item1 = LNdoc.GETFIRSTITEM("firstname")
    Set item2 = LNdoc.GETFIRSTITEM("mailaddress")
    Set item3 = LNdoc.GETFIRSTITEM("phonenumber")
    Set item4 = LNdoc.GETFIRSTITEM("officephonenumber")
    Set item5 = LNdoc.GETFIRSTITEM("HomeAddress")
    Set item6 = LNdoc.GETFIRSTITEM("Zip")
    Set item7 = LNdoc.GETFIRSTITEM("Country")
    Set item8 = LNdoc.GETFIRSTITEM("Location")
    'weitere Felder:  
    ' HomeAddress /BusinessAddress  
    ' Zip /OfficeZip  
    ' Country/OfficeCountry  
    ' Location  
    ' oder über die Feldeigenschaften...  
    '  
    array1 = Item.Values
    array2 = item1.Values
    array3 = item2.Values
    array4 = item3.Values
    array5 = item4.Values
    array6 = item5.Values
    array7 = item6.Values
    array8 = item7.Values
    array9 = item8.Values
    lnarray(I, 0) = CStr(array1(0))
    lnarray(I, 1) = CStr(array2(0))
    lnarray(I, 2) = CStr(array3(0))
    lnarray(I, 3) = CStr(array4(0))
    lnarray(I, 4) = CStr(array5(0))
    lnarray(I, 5) = CStr(array6(0))
    lnarray(I, 6) = CStr(array7(0))
    lnarray(I, 7) = CStr(array8(0))
    lnarray(I, 8) = CStr(array9(0))
    ComboBox1.AddItem CStr(array1(0))
    Set LNdoc = LNview.GETNEXTDOCUMENT(LNdoc)
    I = I + 1
    If I > 100 Then Exit Do 
Loop 

 Besucher: 0 online  |  0 heute  |  0 diesen Monat  |  2219178 insgesamt | Seitenaufrufe: 76   Letzte Änderung: 24.06.2006 © 2001-18 Christian Freßdorf
  In Begriffen denken, in Kategorien einteilen, das ist so automatisch wie Luftholen.
Wolf Biermann
 powered by phpCMS and PAX