Open Office API (steuern durch Fremdanwendung)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Open Office API (steuern durch Fremdanwendung)

Re: Open Office API (steuern durch Fremdanwendung)

von MCP » Mi, 29.05.2013 14:11

Na gut. Wenn schon zwei Hilfegebende diesen Weg vorschlagen, dann werd ich mal versuchen das so umzusetzen.

Danke nochmal

Re: Open Office API (steuern durch Fremdanwendung)

von pmoegenb » Di, 28.05.2013 17:43

Hallo MCP,
wenn Du mit einer eigenen Anwendung eine andere Anwendung fremdsteuerst, machst Du gleichzeitig Deine Anwendung von dieser anderen Anwendung abhängig. Deshalb ist der von Karolus vorgeschlagene Weg über eine .csv-Datei intelligenter.

Bei einer .csv-Datei kannst Du wahlweise auch eine anderes Office-Produkt wie z. B. Excel verwenden.

Re: Open Office API (steuern durch Fremdanwendung)

von Karolus » Di, 28.05.2013 16:47

Hallo
Danke für die Antwort, aber Formatierungen, Berechnungen (Mittelwerte, Summe, etc) und Kurvenanzeige machen sich nicht so schön in CVS
Es ist .csv und nicht CVS.
Natürlich hälst du deine Formatierungen etc.pp in einem normalen Tabellendokument, nur seine Daten kommen aus der Datenbank.csv
Muß doch auch noch eine "intelligente" Lösung geben.
Das ist die intelligente Lösung.

Karolus

Re: Open Office API (steuern durch Fremdanwendung)

von MCP » Di, 28.05.2013 16:40

Danke für die Antwort, aber Formatierungen, Berechnungen (Mittelwerte, Summe, etc) und Kurvenanzeige machen sich nicht so schön in CVS :(

Und irgendwie wollte ich die Daten schon gleich direkt in dem Dokument haben, wo ich sie auch betrachten will. Muß doch auch noch eine "intelligente" Lösung geben.

Re: Open Office API (steuern durch Fremdanwendung)

von Karolus » Di, 28.05.2013 16:05

Hallo
Lass dein "Fremdprogramm" in eine .csv schreiben und binde den Ordner dieser Datei als Datenquelle.

Karolus

Open Office API (steuern durch Fremdanwendung)

von MCP » Di, 28.05.2013 15:33

Hallo,

ich habe mir ein Programm in VB erstellt, mit dem ich täglich Werte der Heizungs- und Solaranlage in ein OpenOffice-Calc-Dokument (inzw. OO Version 3.4.1, Problem bestand aber schon früher) schreibe.
(OO starten, Dokument öffnen, ggf, neu erstellen und formatieren, Daten speichern, Dokument schließen, OO beenden)

Im Prinzip funktioniert das auch schon alles ganz gut. Nur manchmal ist OO der Meinung, beim Start eine Dokuentenherstellung durchführen zu wollen, zeigt dabei aber kein wiederherzustellendes Dokument an. Oder es soll ein Fehlerbericht versendet werden.
Fehlermeldungen über zuvor aufgetretene Probleme beim Speichervorgang sind nie in meinem Errorlogbuch protokolliert (ich geh also davon aus, daß es keine gab, die erfolgeiche Speicherung, also nichtauftreten von Fehlern, wird ja protokolliert)

In beiden Fällen hat dann meine Anwendung das Problem, daß sich OO weigert, mein Dokument zu öffnen, so daß ich dann keine Daten speichern kann.
(Separater Rechner, tagelang unbeobachtetes arbeiten)
So bin ich nun doch gezwungen jeden Tag zumindest nachzuschauen, ob die Daten gespeichert wurden oder ob ich irgendein Fensterchen weggklicken muß.
Vielfach bleiben nach oben beschriebenem Fehler dann auch Instanzen von soffice.bin und soffice.exe im Taskmanager, die ich dort manuell beenden muß, was aber u.U. an fehlgeschlagenen Startversuchen durch mein Programm liegen könnte.

Im Fehlerfall bringt die Routine

Code: Alles auswählen

Set objComponents = objDesktop.getComponents
   Set objDocuments = objComponents.CreateEnumeration
   LoopCount = 0
   Do While (objDocuments.hasMoreElements And (LoopCount < 20))
ein true, die nachfolgende Abfrage:

Code: Alles auswählen

sName = objComponent.Name
bringt aber keinen NAmen und

Code: Alles auswählen

objComponent.Close (False)
schließt das angezeigte Fenster auch nicht.
(Routine war eingeführt worden, falls die Tabelle versehendtlich offen gelassen wurde)

Kennt jemand eine Möglichkeit, das Auftreten der Dokumentwiederherstellung und Fehlerberichterstattung gezielt abzufragen / abzufangen und zu behandeln?

Vielen Dank für eure Antworten

Nach oben