Das Notes Forum

Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: KV17 am 30.09.09 - 13:47:47

Titel: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: KV17 am 30.09.09 - 13:47:47
Hallo,

ich suche eine möglichkeit das Adressbuch von LN über excel als Makro nach excel auszulesen.
LN ist dabei gestartet.

Könnt ihr mir helfen.

Vielen Dank

Uwe
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: tks am 30.09.09 - 14:08:51
Welches Adressbuch? Das Persönliche oder das Öffentliche?

Und was soll ausgelesen werden? Benutzernamen, Mailadressen, ???

Und wieso mit VBA?

Eventuell reicht es ja, eine passende Ansicht zu bauen und die Daten zu exportieren (als CSV)?
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: Axel am 30.09.09 - 14:11:48
Guckst du hier: IBM Redbook - COM Together (http://www.redbooks.ibm.com/redbooks/pdfs/sg245670.pdf).

Da findest du Grundlagen und auch Beispiele dazu.

Axel
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: KV17 am 30.09.09 - 16:14:03
@tks
Hallo, es geht um das öffentliche Adressbuch.
Der gendanke ist ich brauchenur die Namen einer gruppe. Der rest daraus interessiert mich nicht. Warum mit VBA. Weil ich die Namen in einer exeltabelle brauche und für weitere makros und zuordnungen brauche. Deshalb möchte ich dies nur über einen Klick (makro) aus steuern.

@axel
Danke aber leider hab ich mit Lotus notes nicht ganz soviel am Hut.

Habe hier was ähnliches gefunden nur das funktioniert nicht so richtig.
http://www.ms-office-forum.de/forum/showthread.php?t=207582&highlight=Demian+Lotus
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: ascabg am 30.09.09 - 16:21:46
Hallo,

Das laesst sich durchaus mit VBA realisieren.
Nur wirst Du ohne ein paar Kenntniss der Notes-Programmierung hier nicht weiterkommen.


Andreas
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: KV17 am 30.09.09 - 21:26:17
Darum hab ich mich ja an euch Gewand, das ihr mir helft diese Problem zu lösen. Ich wäre dankbar für ein paar Code Schnipsel.
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: koehlerbv am 30.09.09 - 21:41:44
Uwe, die "Code-Schnipsel" hast Du bereits in epischer Breite im verlinkten Artikel auf dem goldenen Präsentierteller bekommen.

Lies das, eigne Dir das fehlende Wissen an - und komme dann hier wieder mit konkreten Fragen.

Bernhard
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: KV17 am 30.09.09 - 22:28:50
Ja, bloß das diese hier nicht funktionieren. Und wenn ich wüsste wie das funkt. würde, würde ich auch hier nicht fragen. Also könnt ihr mir nun Helfen den Fehler zu finden oder nicht? Würdet mir wirklich einen gefallen tun wenn ihr mir helft.

Viele Grüße Uwe  
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: guesswho am 30.09.09 - 23:21:39
Uwe,

dann nimm die Code-Schnipsel, probier das und sag dann an, WAS nicht funktioniert. Und wenn du dann noch Sätze schaffst, die lesbar und verstehbar sind, dann werden sich die COM-Experten hier öffnen.

Sätze wie "Der gendanke ist ich brauchenur die Namen einer gruppe" muss ich in meinem Alter echt dreimal lesen, um zu erahnen, um was es geht.....  :P

Oder zahl mir 10 Minuten meiner Zeit, dann liefer ich dir die Code-Schnipsel aufbereitet. Ob die dann aber in deiner Umgebung das tun was sie sollen?! Beschreib bitte vorher deine Umgebung!

*warum gibt das denn hier kein kopfschüttelicon*

Jo
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: KV17 am 01.10.09 - 08:49:49
Hallo,

da ich keine Verweise setzten kann, habe ich folgenden Code genommen.

Code
Sub notes2()
Dim s As Object
Set s = CreateObject("Lotus.NotesSession")
s.Initialize

Dim db As Object
Dim view As Object
Dim doc As Object
Dim feld As Object
Dim i As Long

Set db = s.GetDatabase("", "Names.nsf")
Set view = db.GetView("People")

Range("a1").Activate
ActiveCell.Value = "Nachname"
ActiveCell.Offset(0, 1).Value = "Vorname"
Range("a2").Activate


Set doc = view.GetFirstDocument

For i = 1 To view.AllEntries.Count
    ActiveCell.Value = doc.GetItemValue("Lastname")
    ActiveCell.Offset(0, 1).Value = doc.GetItemValue("Firstname")
    ActiveCell.Offset(1, 0).Select
    
    Set doc = view.GetNextDocument(doc)
Next i
End Sub

das problem ist das wenn ich den Code ausführe kommt, ein Fehler von Excel "Abnormal Programm termination" und excel schließst sich.
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: guesswho am 01.10.09 - 09:10:07
Hallo Uwe,

kann da keinen Fehler entdecken. Wenn ich das in Excel kopiere, tut das problemlos. Schon mal in Excel im Debugger nachgeschaut, wo der Fehler auftritt ?

Wird das Notes-Kennwort abgefragt nach dem Start ?!

Welche Excel-Version ?

Jo
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: KV17 am 01.10.09 - 09:51:56
Hallo hab das problem gefunden. Lag an an dem Punkt CreateObject("Lotus.NotesSession") den habe ich in CreateObject("Notes.NotesSession") umbenannt. Nun liest er das adressbuch aus. einProb hab ich noch. Ich möchte nicht denn ganzen Ordner "People" auslesen sondern eine Grupe unter "by Organization"
mit dem Namen "bals" unterordner "sup1"

Hiernochmal der Code. Könnt ihr mir da helfen?

Code
Private Sub CommandButton1_Click()

Dim s As Object
Set s = CreateObject("Notes.NotesSession")

Dim db As Object
Dim view As Object
Dim doc As Object
Dim feld As Object
Dim i As Long

Set db = s.GetDatabase("mail01/Srv/sland", "names.nsf")
Set view = db.GetView("People")

Range("a1").Activate
ActiveCell.Value = "Nachname"
ActiveCell.Offset(0, 1).Value = "Vorname"
Range("a2").Activate


Set doc = view.GetFirstDocument

For i = 1 To view.AllEntries.Count
    ActiveCell.Value = doc.GetItemValue("Lastname")
    ActiveCell.Offset(0, 1).Value = doc.GetItemValue("Firstname")
    ActiveCell.Offset(1, 0).Select
    
    Set doc = view.GetNextDocument(doc)
Next i
End Sub
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: Hirnbeisz am 01.10.09 - 10:17:45
Locating documents within a view or folder in LotusScript classes:
http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.help.domino.designer85.doc/DOC/H_LOCATING_DOCUMENTS_WITHIN_A_VIEW_OR_FOLDER.html (http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.help.domino.designer85.doc/DOC/H_LOCATING_DOCUMENTS_WITHIN_A_VIEW_OR_FOLDER.html)
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: KV17 am 01.10.09 - 12:22:46
Sorry Jungs, das ist für mich wie Bahnhof. Kann mir das jemand erklären ?
Titel: Re: Adressbuch per VBA Makro in Excel auslesen
Beitrag von: BigWim am 01.10.09 - 12:42:26
Hallo Uwe,

Zitat
Kann mir das jemand erklären
Diese Abhandlung beschreibt die verschiedenen Methoden, in Notes auf ein einzelnes Dokument zuzugreifen. Wenn Du nur ein bestimmtes Dokument im "Ordner" (=View oder Ansicht) suchst, dann versuche es mal mit GetDocumentByKey method (http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.help.domino.designer85.doc/DOC/H_LOCATING_DOCUMENTS_WITHIN_A_VIEW_OR_FOLDER.html)

Code
Set view = db.GetView("[b]<evtl. anzupassen>[/b]")' ich tippe mal auf "groups"
...
Set doc = view.[b]GetDocumentByKey ("bals", TRUE)[/b]
(Die For-Schleife brauchst Du dann nicht mehr)

Markus