Autor Thema: OpenOffice Anbindung an Lotus Notes per OLE  (Gelesen 56804 mal)

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
OpenOffice Anbindung an Lotus Notes per OLE
« am: 19.02.08 - 09:59:06 »
Hallo zusammen,

ich versuche gerade erfolglos aus OpenOffice 2.3.1 und folgenden Zeilen eine Anbindung an Lotus Notes 7.02 herzustellen.

oleService = createUnoService("com.sun.star.bridge.oleautomation.Factory")
oApp = oleService.createInstance("Notes.NotesSession")
oApp.Username


Nachdem die Lotus NotesSession und damit auch Notes gestartet wird, bricht jeder Zugriff auf Eigenschaften oder Methoden mit angehängter Fehlermeldung ab.
Auch der Zugriff über "Lotus.NotesSession", "Notes.NotesUIWorkspace" brachte keinen Erfolg. Hat jemand schon einmal Erfahrungen mit einer Lotus Notes Anbindung aus OpenOffice gemacht? Es scheint sich dabei auch um ein Lotus Notes spezifisches Problem zu handeln, da der Zugriff über OLE in Verbindung mit Word, bzw. WordPro problemlos funktioniert.

Gruß Sascha

Ich habe die Anfrage auch im OpenOffice Forum gestellt. http://de.openoffice.info/viewtopic.php?f=18&t=16241
« Letzte Änderung: 19.02.08 - 10:05:10 von mibo11 »

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: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #1 am: 19.02.08 - 10:02:45 »
Es scheint sich dabei auch um ein Lotus Notes spezifisches Problem zu handeln, da der Zugriff über OLE in Verbindung mit Word, bzw. WordPro problemlos funktioniert.

Gruß Sascha

Warum soll das ein Notes-spezifisches Problem sein, wenn es in Verbindung mit Word bzw. WordPro funktioniert?
Ich denke eher, dass es ein OpenOffice-Problem ist.


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

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #2 am: 19.02.08 - 10:13:17 »
Hallo Axel,

bitte keine Wertung, bzw. Diskussion über ggf. unglücklich formulierter Beschreibungen eröffnen.  ;)

Ich habe ja auch, wie bereits erwähnt, ein weiteres Posting im OO Forum aufgemacht.

Gruß
Sascha

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: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #3 am: 19.02.08 - 10:32:32 »
Hallo Axel,

bitte keine Wertung, bzw. Diskussion über ggf. unglücklich formulierter Beschreibungen eröffnen.  ;)

Ich habe keine Wertung abgegeben und will auch keine Diskussionen lostreten. Es war nur ein Hinweis für eine Eingrenzung des Bereichs für die Fehlersuche.

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

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #4 am: 19.02.08 - 18:57:09 »
... also die Fehlermeldung kommt von OpenOffice - und so wie ich das sehe ein Problem mit der Initailisierung der Notes.Session hat. Dazu muß Notes ordentlich installiert worden sein, da die OLE-Instanzierung sonst nicht funktionieren kann.

Ich schau mir das heute Abend noch an, da ich an dem Thema OpenOffice gerade auch dranhänge - morgen also mehr...

Die Frage, die sich mir stellt ist, ob der Thread nicht verschoben werden sollte => Richtung Campanion und OLE ...

Toni

Grüßle Toni :)

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #5 am: 19.02.08 - 22:14:13 »
... hat mir keine Ruhe gelassen - ich habe etwas herumprobiert, und mein Verdacht ist, daß OpenOffice hier bei der Einbindung der OLE/COM-Schnittstelle nicht ganz sauber implementiert hat. Der Verdacht begründet sich darauf, daß OO beim Initialisieren mit session.Initialize die Länge der Argumente bemängelt - laut Spezifizierung aber gar nicht notwendig. In meinem Beispiel arbeite ich mit einem leeren Passwort - das wird angenommen - zumindest geht Lotus Notes damit im Frontend auf. Probiert habe ich mit Windows XP ...

Der folgende Code in OpenOffice bringt die Fehlermeldung, daß ein Initialize fehlschlägt, der bei dir im Code gefehlt hat, aber notwendig ist. Die Session erscheint im Frontend, der Debugger bleibt aber beim session.Initialize("") stehen, mit dem Hinweis, daß er nicht initialisieren kann: Basic-Laufzeitfehler, Object-Variable ist nicht belegt

sub open_LN()
   dim service as object
   dim session as object
   dim db As object
   service = createUnoService("com.sun.star.bridge.oleautomation.Factory")
   session = service.createInstance("Lotus.NotesSession")
   session.Initialize("")
   db = session.GetDatabase("" ,"names.nsf")
   MsgBox( "Das lokale Adressbuch heißt => " & db.Title )
end sub

Ein Versuch es mit "Lotus.NotesSession.7.0" und anderen Möglichkeiten schlug ebenso fehl.

Der Leerstring im Initialize steht für ein Passwort, falls es bei der Anmeldung in Notes erforderlich wäre. Laut Spezifizierung braucht man auch keines einzugeben. Für den Fall, daß es erforderlich wäre, würde dann danach gefragt werden.

Eine Initialisierung mit session.InitializeUsingNotesUserName (username, password) wird speziell für den Zugriff auf einen Server benötigt - der klappt bei lokalem Zugriff nicht...


Der für Excel oder Word angepasste Code funktioniert hervoragend:

sub open_LN()
   Dim session as Variant
   Dim db As Variant
   Set session = GetObject("Lotus.NotesSession")
   Call session.Initialize("")
   Set db = session.GetDatabase("" ,"names.nsf")
   MsgBox( "Das lokale Adressbuch heißt => " & db.Title )
end sub

Achtung:
Im Taskmanager verbleiben pro Versuch nlnotes.exe-Tasks, die wieder abgeschossen werden müssen, wenn sie wie in meinen Beispielen nicht wieder bereinigt wurden, und ...

Zitat
"Notes.NotesUIWorkspace" brachte keinen Erfolg

... klappt mit OLE/COM-Schnittstelle nie, da keine Frontend-Klassen unterstützt werden...

Das wärs erst mal für's erste... ::)

Toni
« Letzte Änderung: 20.02.08 - 09:10:04 von ata »
Grüßle Toni :)

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #6 am: 20.02.08 - 10:35:04 »
Hallo Toni,

dass die OLE/COM Schnittstelle nicht ganz sauber implementiert ist, möchte ich noch mit einem Beispiel unterlegen. Nachfolgender Code in OpenOffice ausgeführt liefert über hasProperty oApp.hasProperty("UserName") = True, oApp.hasProperty("Hier bewusst einen faschen Wert angegeben") = False zurück. Dies kannst du auch über hasMethode(irgendwas) nachzuvollziehen. D.h. die Methoden und Eigenschaften werden schon erkannt. Wird dann allerdings auf die Eigenschaft zugegriffen, schlägt der angegebene Fehler wieder zu.

   Dim oleService as Object
   Dim oApp as Object
   oleService = createUnoService("com.sun.star.bridge.oleautomation.Factory")
   oApp = oleService.createInstance("Lotus.NotesSession")
   Msgbox oApp.hasProperty("UserName")
' liefert True zurück
   Msgbox oApp.hasProperty("Irgendwas") ' liefert False zurück
   Msgbox oApp.hasMethod("Initialize") ' liefert True zurück
   Msgbox oApp.UserName ' liefert Fehler zurück
   Msgbox oApp.getValue("UserName") ' liefert ebenso Fehler zurück


Gruß
Sascha
« Letzte Änderung: 20.02.08 - 10:36:51 von mibo11 »

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #7 am: 20.02.08 - 11:54:40 »
Hallo Sascha,

da wirst du auf diesem Weg schlechte Papiere haben, solange es nicht sauber implementiert ist, wer auch immer da den schwarzen Peter hat...

Es muß wohl in der Vergangenheit in einer früheren Version des OpenOffice schon funktioniert haben, denn ich bin beim googeln auf Threads in Foren gestossen (Jahr 2005) die mit anderen Problemen gekämpft haben - gemeinsam war bei denen, daß das Initialize eingebaut war und damals als Methode ansprechbar war. Stellt sich noch immer die Frage, woran es liegt. COM-Schnittstelle in Microsoft Office funktioniert über GetObject( "..." ) ohne Probleme. Der gleiche Weg, oder der über den Service funktioniert in OpenOffice jedoch nicht.

Auf der anderen Seite habe ich von OpenOffice aus ein MS Word-Dokument geöffnet und was reingeschrieben - das hat funktioniert. Damit dürfte es entweder die Datei sein, die Lotus zur Verfügung stellt und nicht konform ist - oder von OpenOffice unsauber verwendet wird - derzeit ein Patt in der Frage nach dem Schuldigen - und den sollte man herausfinden, um sich an den richtigen wenden zu können...

Harren wir der Dinge. Ich werde noch probieren, ob es mit der Notes-Version zusammenhängen kann - dann käme eine Alt-Installation von OpenOffice dran. Wie sieht das bei dir aus - brauchst du das bereits für einen Kunden oder dient es eher der Fortbildung? ::)

Toni
Grüßle Toni :)

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #8 am: 20.02.08 - 16:01:25 »
Hallo Toni,

der OLE/COM Gedanken aus OO ist zunächst erst einmal verworfen. Warten wir da auf bessere Unterstützung, von wem auch immer.  ;D

Nächster Versuch ist der Zugriff über die NotesAPI. Ich werde darüber berichten, sobald ich brauchbare Ergebnisse habe.

Gruß
Sascha

PS: Bei dem Beschriebenen handelt es sich übrigens um eine Vorstudie.

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #9 am: 20.02.08 - 17:40:01 »
Hallo Sascha,

was genau hast du denn vor?

Toni
Grüßle Toni :)

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #10 am: 20.02.08 - 18:41:30 »
Hallo Toni,

im Prinzip etwas ganz Einfaches:

Zunächst eine OpenOffice Vorlage aus Notes heraus aufrufen, innerhalb von OpenOffice bearbeiten und auf Benutzeranforderung zurückschreiben. Zwischenzeitlich müssen in Abhängigkeit verschiedener Benutzereingaben Textbausteine aus Notes geholt werden.

Gruß
Sascha


Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #11 am: 21.02.08 - 00:21:36 »
Zitat
auf Benutzeranforderung zurückschreiben

... ein Button in OpenOffice, oder der Trigger im Notes?

Toni
Grüßle Toni :)

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #12 am: 21.02.08 - 10:34:37 »
... leider muss es ein Button in OpenOffice sein.

Gruß
Sascha

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #13 am: 21.02.08 - 13:33:53 »
... nur mal so ketzerisch gedacht - eventuell über einen funktionierenden Weg eine Durchreichung:

OpenOffice-Button => MS Word => Makro starten => Notes per COM verbinden und Aktion ausführen

Keinesfalls eine Musterlösung - höchstens ein Provisorium - und alles andere als charmant  ;)

Toni

 
Grüßle Toni :)

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #14 am: 21.02.08 - 19:54:31 »
Hallo Toni,

Die Wordlösung fällt leider mangels WordClient aus. Nach vielen Versuchen OLE und NotesAPI habe ich das Problem jetzt auch noch in das IBM Forum gestellt.

Vielen Dank für deine Mühe.

Gruß
Sascha

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #15 am: 21.02.08 - 22:57:54 »
... nur mal so ketzerisch gedacht - eventuell über einen funktionierenden Weg eine Durchreichung:

OpenOffice-Button => MS Word => Makro starten => Notes per COM verbinden und Aktion ausführen

Keinesfalls eine Musterlösung - höchstens ein Provisorium - und alles andere als charmant  ;)

Toni

Den Weg über ein Zwischenprogramm habe ich übrigens auch ausprobiert. Über VB .net habe ich eine DLL erstellt, die aus OO aufgerufen werden sollte. Leider bin ich da mangels Kenntnisse auch gescheitert.

Fehlermeldung: Kein Aufrufpunkt gefunden.

Bin aber noch an dem Thema dran und werde weiteres berichten.

Gruß
Sascha

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #16 am: 22.02.08 - 00:09:40 »
hi,
ich hab schon eine anbindung von und nach notes mit oo durchgeführt, als informationsträger habe ich eine datei genommen. die aufrufe erfolgten dann wie folgt:
notes --> oo via ole
oo --> notes via db öffnen, das erfolgt über aufruf von notes.exe mit parameter zur notes-db, man kann auch ein ndl zu einer notesview öffnen, auf jeden fall wird ein queryopen-script in notes ausgeführt in dem man dann alles machen kann.
die info was wie gemacht werden soll erfolgt dann über eine datei welche eineindeutig über die systemenvironment "tmp" definiert wurde.
ist schon spät am abend ich hoffe das reicht fürs erste.

bubble
ps.: das ganze geht auch mit linux ;)
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #17 am: 22.02.08 - 00:36:59 »
@bubble,

... ich weiß ja daß es spät ist, aber kannst du nicht versuchen die Großstelltaste zu verwenden - das liest sich mehr wie anstrengend - vor allem um diese Tageszeit -  ;) - Danke...

Ich werde deinen Lösungsweg zu einer anderen Stunde mal anschauen - hört sich brauchbar an...

Toni
Grüßle Toni :)

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #18 am: 11.07.08 - 10:32:31 »
Bin gerade an dem selben Problem dran und mir ist aufgefallen, dass wenn man von MS Office aus per OLE auf Notes zugreifen will, man erst einmal die "Lotus Domino Objects" in die Verweise aufnehmen muss danach funktioniert die Initialize-Methode auch.

Die frage ist ob es eine ähnliche Funktion auch in OpenOffice gibt.

Edit: Nebenbei OOo bringt bei mir bei

msgbox oApp.hasproperty("Initialize")

"False"
« Letzte Änderung: 11.07.08 - 12:22:24 von LordKiri »

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: OpenOffice Anbindung an Lotus Notes per OLE
« Antwort #19 am: 14.07.08 - 10:27:51 »
Hallo,
man kann nicht von OO auf Notes via OLE zugreifen, weil OO ein Plattformunabhängiges Ding ist, Sprich auch Linux, Mac usw läuft. Zum vergleich OLE ist pur Windows.
Hier muss man tricksen.

bubble
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz