🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[PARTIALLY SOLVED] Makro von Befehlszeile ausführen

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Geri
Beiträge: 7
Registriert: Sa 19. Jan 2013, 20:55

[PARTIALLY SOLVED] Makro von Befehlszeile ausführen

Beitrag von Geri » Sa 19. Jan 2013, 21:14

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 ;-)
Zuletzt geändert von Geri am So 20. Jan 2013, 02:43, insgesamt 3-mal geändert.

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Makro von Befehlszeile ausführen

Beitrag von F3K Total » So 20. Jan 2013, 00:00

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
Windows 11: AOO, LO Linux Mint: AOO, LO

Geri
Beiträge: 7
Registriert: Sa 19. Jan 2013, 20:55

Re: Makro von Befehlszeile ausführen

Beitrag von Geri » So 20. Jan 2013, 00:41

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).


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten