Open Office API (steuern durch Fremdanwendung)

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

MCP
Beiträge: 3
Registriert: Di, 28.05.2013 15:09

Open Office API (steuern durch Fremdanwendung)

Beitrag von MCP »

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
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Open Office API (steuern durch Fremdanwendung)

Beitrag von Karolus »

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

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
MCP
Beiträge: 3
Registriert: Di, 28.05.2013 15:09

Re: Open Office API (steuern durch Fremdanwendung)

Beitrag von MCP »

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.
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Open Office API (steuern durch Fremdanwendung)

Beitrag von Karolus »

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
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Open Office API (steuern durch Fremdanwendung)

Beitrag von pmoegenb »

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.
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
MCP
Beiträge: 3
Registriert: Di, 28.05.2013 15:09

Re: Open Office API (steuern durch Fremdanwendung)

Beitrag von MCP »

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

Danke nochmal
Antworten