Macro von der Kommandozeile ausführen und Resultat speichern

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

Moderator: Moderatoren

Axel Richter
****
Beiträge: 159
Registriert: So, 17.10.2010 16:54

Re: Macro von der Kommandozeile ausführen und Resultat speic

Beitrag von Axel Richter »

Hallo rivella,

der Vollständigkeit wegen:
rivella hat geschrieben:Ich habe einfach im Verzeichnis /usr/lib/openoffice/basis-link/share/basic/Gimmicks/ die Datei CSVinsert.xba erstellt und dort den Makrocode aus der entsprechenden Windowsdatei eingefügt. Reicht das oder muss ich das Makro in OO noch irgendwo anmelden?
Nein, das reicht nicht.
1. Es gibt dort zunächst das Problem der Pfade. Bei mir (ubuntu) ist der Pfad nämlich /opt/openoffice.org/basis3.2/share/basic/Gimmicks oder /opt/openoffice.org3/basis-link/share/basic/Gimmicks.
2. Es gibt in den Library-Verzeichnissen noch je eine Datei script.xlb. Dort muss der Makroname, hier also CSVinsert, auch noch eingetragen werden. Meine sieht dann so aus:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Gimmicks" library:readonly="false" library:passwordprotected="false">
<library:element library:name="GetTexts"/>
<library:element library:name="Userfields"/>
<library:element library:name="ChangeAllChars"/>
<library:element library:name="AutoText"/>
<library:element library:name="ReadDir"/>
<library:element library:name="CSVinsert"/>
</library:library>

viele Grüße

Axel
rivella
Beiträge: 8
Registriert: So, 06.02.2011 10:00

Re: Macro von der Kommandozeile ausführen und Resultat speic

Beitrag von rivella »

@Axel
Vielen Dank! Ich hatte gestern vergessen zu erwähnen, dass ich auch die Datei script.xlb entsprechend modifiziert habe. Wenn ich dann den Aufruf über die Kommandozeile mache, bleibt OO einfach hängen. Eine Datei test.csv.ots wird nicht erzeugt.

Ich versuche jetzt, das Problem anders zu lösen; evtl. mit PHP. Die Bibliothek ods-php ist ein guter Ansatz, liefert mir aber einen out-of-memory Fehler.

Ich überlege mir etwas und berichte dann im Erfolgsfall :)

Bis dann
rivella
Axel Richter
****
Beiträge: 159
Registriert: So, 17.10.2010 16:54

Re: Macro von der Kommandozeile ausführen und Resultat speic

Beitrag von Axel Richter »

Hallo,

wie ich feststellen konnte, beherrscht OpenOffice die Microsoft Spreadsheet XML. Damit ist es einfacher als mit dem Manipulieren der content.xml eines ODS-Archives möglich, Workbooks mit Spreadsheets zu erstellen. Das sogar mit dem netten Nebeneffekt, dass Excel diese Dateien auch öffnen kann.

Beispieldatei anliegend. In der Datei ist *kein* ODS-Archiv, sondern reines XML. Wenn die Datei mit dem Typ .ods versehen wird, dann öffnet sie das System auch per Doppelklick mit OOo-Calc.
Referenz: http://msdn.microsoft.com/en-us/library ... 10%29.aspx.

viele Grüße

Axel
Dateianhänge
CalcExcel.xml.ods
(1.92 KiB) 109-mal heruntergeladen
Antworten