Seite 1 von 1

[PARTIALLY SOLVED] Makro von Befehlszeile ausführen

Verfasst: Sa 19. Jan 2013, 21:14
von Geri
Ich habe ein Basic-Makro im Modul <XLSX2CSV.ods>.Standard.XLSX2CSV.xlsx2csv.

1) Ich möchte das aus einer Befehlszeile automatisch ausführen. Nach einigem Suchen hab ich folgende Syntaxvarianten gefunden:

- soffice XLSX2CSV.ods "vnd.sun.star.script:Standard.XLSX2CSV.xlsx2csv?language=Basic&location=document"

- soffice XLSX2CSV.ods "macro:///Standard.XLSX2CSV.xlsx2csv"

Mit beiden passiert - außer dem Öffnen des Dokuments - RGN.

Wenn ich das Makro dann händisch im geöffneten Dokument ausführe macht es genau das, was es machen soll, außer, dass...

2) ...die Zeile mit den FilterData.Values offensichtlich ignoriert wird: Field Separator in 'out.csv' ist der Standard ',' statt ';' und Text Delimiter ist ,", statt ,',.

Code: Alles auswählen

  csvUrl = "file:///out.csv"
  ' see http://wiki.openoffice.org/wiki/Documentation/BASIC_Guide/StarDesktop#storeAsURL_Method_Options
  saveAsProps(0).Name = "Overwrite"
  saveAsProps(0).Value = True
  saveAsProps(1).Name = "FilterName"
  saveAsProps(1).Value = "Text - txt - csv (StarCalc)"
  saveAsProps(2).Name = "FilterData"
  ' see http://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Filter_Options
  saveAsProps(2).Value = "59,39,0,1,1/1/2/1/3/1/4/1"
  doc.storeAsUrl( csvUrl, saveAsProps() )
Irgend jemand eine Idee (oder einen Hinweis auf eine aussagekräftige Doku)?

LG
Geri

PS: RGN ... Rein gar nichts ;-)

Re: Makro von Befehlszeile ausführen

Verfasst: So 20. Jan 2013, 00:00
von F3K Total
Hi,
ich habe rumprobiert, es auch nicht hinbekommen ein Dokument-Makro zum Laufen zu bringen.
Da du es schaffst, das Dokument per Befehlszeile zu öffnen, könntest Du das Makro unter Extras/Optionen/Anpassen->Ansicht wurde erzeugt laufen lassen.
Gruß R

Re: Makro von Befehlszeile ausführen

Verfasst: So 20. Jan 2013, 00:41
von Geri
Danke fürs Probieren.

Mit...

- soffice XLSX2CSV.ods "vnd.sun.star.script:Standard.Module1.Main?language=Basic&location=application"

...funktioniert's. Zwar nicht elegant, aber zumindest ein Workaround.

Mit "Extras -> Anpassen -> Ereignisse -> Laden des Dokuments beendet od. -> Dokument aktivieren" geht's auch mit Ablegen im Dokument, aaaber, damit wird das Makro jeweils 2x ausgeführt und Calc beendet sich nach dem Schließen des Dokuments im Makro, d.h. ich kann nichts mehr bearbeiten *grrr*.

Ich kann die Zuordnung zwar in der 'content.xml' im 'XLSX2CSV.ods.zip' rausnehmen, aber gibt es nicht eine Tastenkombination beim Öffnen, die die Ausführung von Makros unterbindet?

Sooo: Mit der Zuordnung zu "Extras -> Anpassen -> Ereignisse -> Dokument öffnen" funkt es wie gewünscht.

Bleibt nur noch 2).