Hallo zusammen, vielen Dank für Eure Antworten!
Bei der Anwendung handelt es sich um ein kommerzielles DMS mit eigener Datenbank. Ganz klassisch in Cplüschplüsch mit VisualStudio programmiert. Wird niemand kennen, weil es fast ausschließlich im kommunalen Bereich eingesetzt wird. Und ich bin ja beim Hersteller. Konkret habe ich das gerade bei einer Stadt eingeführt, die mit LO arbeitet. Mit MS-Office funktioniert die Datenübergabe, mit OOo auch. Früher funktionierte es mit LO auch, muss aber schon einige Jahre her sein.
Das DMS kann u.a. Dokumente (Geschäftsbriefe, Formulare whatever) erstellen, die mit DMS-eigenen Daten oder mit Daten aus kommunalen Fachverfahren "befüllt" und einem Sachbarbeiter zur weiteren Bearbeitung geöffnet werden. Diese Dokumente werden durchaus nach außen weitergegeben, deshalb müssen die Daten im Dokument sein, d.h. ich kann es nicht über Serienbrieffelder füllen.
In meinem ersten Post hatte ich beschrieben,wie bei OO und früher LO die Daten übergeben werden. Es ist tatsächlich so, dass das OO/LO als DDE-Server aufgerufen wird, zumindest würde ich das so interpretieren:
Dann werden durch folgenden Aufruf die Platzhalter gefüllt:
Code: Alles auswählen
DDE_FuehreAus(DDEKanal, "[ThisComponent.TextSections.GetByName("Aktenzeichen").Anchor.String="123.45"]")
Die Platzhalter werden also nicht aus irgendwelchen DDE-Quellen gefüllt, sondern über DDE ins Dokument gepusht!
Das dumme ist, dass alle Returncodes auf Erfolg hinweisen. Es gibt auch keine Fehlermeldungen in LO. Und ich weiß nicht, ob man LO irgendwie debuggen kann. Ich finde aber auch in keiner Doku von LO (auch nicht in der von OO) etwas Vernünftiges, ob der Zugriff auf die oben beschriebene Art mal irgendwann rausgenommen wurde. Aus Sicherheitsgründen oder so, könnte ja sein. Ich finde nicht mal die Dokumentationvon diesem Zugriff.
Den Tipp mit der 32-Bit-Variante von LO werde ich auf jeden Fall ausprobieren!
Ansonsten bin ich dankbar für alle Hinweise, wie ich meine Aufgabe gelöst bekomme.
Danke und Grüße
Stefan