ComponentWalker: OOo & LO gleichzeitig Dateien auslesen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
balu
********
Beiträge: 3682
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

ComponentWalker: OOo & LO gleichzeitig Dateien auslesen

Beitrag von balu » Mo, 07.05.2012 23:18

Hallo liebe Gemeinde.

Ich hab da mal wieder ein ganz interessantes Problem. Und zwar möchte ich von euch zu gerne Wissen, ob man mit dem ComponentWalker gleichzeitig die geöffneten Dateien in OOo & LO auslesen kann?

Innerhalb eines Office ist das ja kein Problem, da ich das ja schon praktisch anwende. Aber mit OOo & LO gleichzeitig wüsste ich jetzt nicht wie man das handhabt, das ist für mich eine total neue und fremde Dimension.

Wenn nicht mit dem ComponentWalker machbar, wäre dann vielleicht ein Tool von Dannenhöfer besser dafür geeignet?
ListOfAllUrls


Mir würde es ja eventuell schon reichen, wenn ich wüsste wie ich von einem Office auf das andere Office zugreifen kann.

Kann mir bitte jemand behilflich sein?


Freue mich auf eure Antworten, auch wenn sie eventuell negativ ausfallen.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D

Stephan
********
Beiträge: 10685
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: ComponentWalker: OOo & LO gleichzeitig Dateien auslesen

Beitrag von Stephan » Di, 08.05.2012 01:35

Mir würde es ja eventuell schon reichen, wenn ich wüsste wie ich von einem Office auf das andere Office zugreifen kann.

Kann mir bitte jemand behilflich sein?
Zumindestens ist ein Zugriff über die direkte Ausführung eines Makros über soffice möglich, womit man die interessierenden Ausgaben z.B. in eine txt-Datei schreiben und dann vom 'anderen' Office mittels Makro auslesen könnte.
Wie man ein Makro prinzipiell über soffice startet hatten wir bereits einmal in diesem Thread besprochen:
viewtopic.php?f=2&t=31173

auch wenn es dort für die Kommandozeile beschriebenist lässt sich das auf die Shell-Anweisung übertragen (oder notfalls per dyxnamisch erzeugter Batch-Datei umsetzen).

Außerdem sollte prinzipiell, zumindest unter Windows, ein im Betriebssystem registriertes Office (also das welches als Standardprogramm bestimmten Dateitypen zugewiesen ist) über das jeweilig andere Office ansprechbar sein, nicht anders als z.B. über MS Office, d.h. zumindest ein ZUgriff von der jeweiligen Portable-Version von OOo/LO auf das festinstallierte OOo/LO sollte direkt gehen. Probiert hab ichs aber nicht. Konkrete Rückmeldung hierzu wäre mir willkommen, weil mich das interessieren würde.



Gruß
Stephan

Karolus
********
Beiträge: 7063
Registriert: Mo, 02.01.2006 19:48
Kontaktdaten:

Re: ComponentWalker: OOo & LO gleichzeitig Dateien auslesen

Beitrag von Karolus » Di, 08.05.2012 07:59

Hallo

Unter Unix-Betriebssystemen (Linux, Mac, ? ) gibts den Shellbefehl lsof mit dem alle offenen Prozesse gelistet werden. Da das idR ziemlich viele sind kann man die Ausgabe filtern, zB.

Code: Alles auswählen

lsof | grep .ods   
listet alle geöffneten Calcdateien.
Für Windows hab ich dazu http://technet.microsoft.com/en-us/sysi ... 96655.aspx gefunden.

Karo
AOO4, LO4.3, LO4.4 LinuxMint17.2

Benutzeravatar
balu
********
Beiträge: 3682
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: ComponentWalker: OOo & LO gleichzeitig Dateien auslesen

Beitrag von balu » Di, 08.05.2012 19:04

Hallo

erstmal ein Danke schön für eure Antworten :).

@Karo
Da auf dem Zielsystem, wo die Dateien eingesetzt werden, keine zusätzlichen Programme installiert werden dürfen, kann ich deinen Vorschlag leider nicht gebrauchen.


@Stephan
Wie man ein Makro prinzipiell über soffice startet hatten wir bereits einmal in diesem Thread besprochen:
viewtopic.php?f=2&t=31173

auch wenn es dort für die Kommandozeile beschriebenist lässt sich das auf die Shell-Anweisung übertragen (oder notfalls per dyxnamisch erzeugter Batch-Datei umsetzen).
Weiß der Geier was da bei mir los ist! Ich bekomm es nicht ans laufen. Meine Versuche mit der SHELL-Funktion brachten nicht das erhoffte Ergebnis.
Hier mal ein paar Beispiele.
Code ausgeführt in OOo 3.3.0

Code: Alles auswählen

Shell("C:\BUERO\OOo 2.4\program\soffice.exe",10,"macro:///oComponentWalker-experimente_1.ods.Standard.Module6.Main -view oComponentWalker-experimente_1.ods")
Dadurch wird wie gewünscht OOo 2.4.1 gestartet, und die Calc-Datei schreibgeschützt angezeigt. Das Makro lässt sich dann von Hand starten, und es wird auch ordnungsgemäß ausgeführt.
Wenn ich den Teil ab "-view..." lösche, so sehe ich kurz das Logo, und nichts passiert mehr. Der Task-Manager zeigt auch keine weiteren soffice.exe & bin an.

Code: Alles auswählen

Shell("D:\PORTABLE\BUERO\LO 3.3.4\program\soffice.exe",10,"E:\ORDNER\ORDNER_Dateien\Weltraum\oComponentWalker-experimente_1.ods macro:///Standard.Module6.Main", false)
Und spätestens ab hier hatte ich erstmal die Schnauze gestrichen voll!!
Normalerweise sollte ja jetzt LO 3.3.4 starten und die Calc-Datei öffnen. Mit der niedrigeren OOo-Version klappte es ja. Aber Pustekuchen! OOo 3.3.0, welches ja schon aktiv ist, lädt die Datei!? :roll:
Selbst wenn ich auf das hier ändere,

Code: Alles auswählen

Shell("D:\PORTABLE\BUERO\LO 3.3.4\program\soffice.exe",10,"macro:///oComponentWalker-experimente_1.ods.Standard.Module6.Main", false)
geschieht gar nichts!

Und nun noch eine märkwürzike Beobachtung die ich zwischenzeitlich gemacht hatte. OOo 3.2.1 ist fest installiert, also nicht Portable.

Code: Alles auswählen

Shell("C:\BUERO\OOo 3.2.1\OpenOffice.org 3\program\soffice.exe",10,"macro:///oComponentWalker-experimente_1.ods.Standard.Module6.Main", false)
Was glaubst Du wohl was ich sehen musste?
Theoretisch müsste jetzt diese OOo-Version starten. Aber nö, dem ist nicht!
Stattdessen bekomme ich folgende Fehlermeldung zu gesichte.
fataler-fehler.png
fataler-fehler.png (8.24 KiB) 71 mal betrachtet

Da versteh einer die Welt!
OOo 2.4.1 wird gestartet, aber 3.2.1 ergibt einen Fatalen-Fehler? Und LO 3.3.4 wird überhaupt nicht gestartet?
Auf die niedrigeren Versionen kann ich ja verzichten, dienten nur als test. Aber auf die höchste Version wollte ich eigentlich nicht verzichten. Nun ja, muss ich halt noch mal alles mit LO anstatt mit OOo durchtesten.


Außerdem sollte prinzipiell, zumindest unter Windows, ein im Betriebssystem registriertes Office (also das welches als Standardprogramm bestimmten Dateitypen zugewiesen ist) über das jeweilig andere Office ansprechbar sein
Hätte ich eigentlich bei mir auch erwartet. Aber aus mir unerklärlichen Gründen bewirkt der Aufruf von soffice.exe in der DOS-Box den Fehler: "Der Befehl soffice.exe ist entweder falsch geschrieben oder konnte nicht gefunden werden."
Und auf Grund dessen hatte ich es ja mit den vollständigen Pfad versucht, wie ja hier oben zu sehen ist.

Es werden aber alle OOo-Dateien im Explorer per Doppelklick richtig mit OOo 3.2.1 geöffnet. Genau so gut wird z.B. eine Calc-Datei durch Aufruf ihres Namen in der DOS-Box mit diesem Office geöffnet.

Ich kann jetzt momentan also nicht sagen ob mit meinem System etwas nicht stimmt, oder ob deine Aussage nicht zutrifft.

Konkrete Rückmeldung hierzu wäre mir willkommen, weil mich das interessieren würde.
Mit mehr kann ich momentan leider nicht dienen. Werde aber wohl morgen noch mal ein bischen weiter testen. Für heute reichts mir wirklich. :(



Gruß
balu


[EDITH von balu]
Bild Fehlermeldung neu Eingehängt.
23.05.2018
[/EDITH]
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D

Antworten