Seite 1 von 1
[Gelöst] Skript Starten aus einem Writer o. Calc Domument ?
Verfasst: Mo 30. Jan 2023, 13:34
von lino
Liebe Alle,
wenn man ein Write- oder Calc Dokument als Katalog für eine Sammlung von Batch-Prozessen anlegelegt hat, wäre es sehr komfortabel, die entsprechenden Skripte direkt aus dem Dokument heraus starten zu können. Ist das möglich und wenn ja wie?
Besten Dank
Lino
Re: Skript Starten aus einem Writer o. Calc Domument ?
Verfasst: Mo 30. Jan 2023, 15:55
von craig
Hallo lino,
mittels der Starbasic-API kann man externe Scripte und interne Scripte ausführen.
Mit internen Scripten meine ich Scripte, welche im Dokument-Container gespeichert sind.
Dazu muss man wissen, dass jedes Office-Dokument ein ZIP-Archiv ist, und in diesem
ZIP-Archiv/ Dokument-Container die Scripte gespeichert werden können.
Damit die Scripte ausführbar sind, wird zur Laufzeit des Makros das gewünschten Script aus dem Container in z.B. einen temporären Ordner kopiert, ausgeführt und im Anschluß wird das Script aus dem temporären Ordner gelöscht.
Zusätzlich muss eine manuelle Anpassung der Datei manifest.xml vorgenommen werden.
Damit man Scripte aus ausführen kann, muss man im Marko die „MasterScriptProviderFactory“ laden.
Siehe in diesen Diskussionen:
https://de.openoffice.info/viewtopic.ph ... 20#p296420
https://de.openoffice.info/viewtopic.php?t=76048
Hier ein Beispiel zum Thema Dokument-Container von Stephan (welcher leider verstorben ist):
Das OpenDocument-Dateiformat (odt, ods, odp, ...) als 'Container' nutzen
Im obengenannten Link "Das OpenDocument-Dateiformat..." ist die Seite "calc-info.de" nicht mehr direkt erreichbar.
Per Wayback ist sie aufrufbar:
WAYBACK MACHINE
https://web.archive.org/web/20210227122 ... c-info.de/
Hinweis:
Bei der Shell-Anweisung (für Kommandozeile) ist die Anzahl der verwendeten Anführungszeichen von besonderer Bedeutung:
- Weil die Kommadozeile selbst diverse Anführungszeichen erwartet
- Weil der Basic-Interpreter diverse Anführungszeichen erwartet
Falsch gesetzte Anfürhungszeichen verursachen entweder einen Laufzeitfehler oder es passiert stillschweigend NICHTS.
Re: Skript Starten aus einem Writer o. Calc Domument ?
Verfasst: Mo 30. Jan 2023, 16:36
von lino
Hhmm, in Anbetracht der vielen Begriffe, die mir im Zusammenhang mit LO bisher noch nicht begegnet sind, hört sich das recht zeitintensiv an. Mal sehen, ob ich kurzfristig dazu komme da einzutauchen. Zunächst besten Dank, Lino
Re: Skript Starten aus einem Writer o. Calc Domument ?
Verfasst: Mo 30. Jan 2023, 16:46
von craig
Hallo lino,
mit welchem Betriebssystem arbeitest Du?
Wenn Windows, dann könnte ich Dir ein kleines Beispiel
programmieren und ein paar Erläuterungen dazu schreiben.
Kennst Du Dich
ein wenig mit der Makro-Programmierung (Star-Basic) aus?
Beispiele:
https://www.dannenhoefer.de/faqstarbasic/index.html
Re: Skript Starten aus einem Writer o. Calc Domument ?
Verfasst: Mo 30. Jan 2023, 19:25
von lino
Hallo craig. Danke für das Angebot, aber das ist nicht nötig. Ich hatte gehofft, dass man den cmd-Interpreter genau so einfach(!) als Prozess starten kann wie z.B. den Adobe Reader bei Hyperlinks. Programmtechnisch wäre das kaum ein Unterschied. Vielleicht kommt das ja mal. Gruß Lino
Gelöst: Skript Starten aus einem Writer o. Calc Domument ?
Verfasst: Di 31. Jan 2023, 12:54
von lino
... war wohl doch recht simpel. Um die Frage, die ich anscheinend nicht löschen kann, nicht so verloren im Raum stehen zu lassen, hier der Workflow von einem befreundeten 'HeyJoe', einschließlich der Handbuchveredelung: Um z.B. den WinExplorer in einem beliebigen Pfad aufpoppen zu lassen:
(1) Makro Schreiben:
Code: Alles auswählen
Sub Explo
Shell("cmd /K ""D:&&cd D:\pfad&&explorer .""",1)
End Sub
(2) Einen Button anlegen (
https://help.libreoffice.org/latest/de/ ... ields.html*) und diesem das Makro zuweisen. (* dort ändern/ergänzen: in (1) "aktivieren Sie ....", statt "wählen Sie ..." und (13) Beenden Sie den Entwurfsmodus)
Danke @Konni S. aus K.
Beste Grüße Lino
Re: Skript Starten aus einem Writer o. Calc Domument ?
Verfasst: Do 2. Feb 2023, 09:38
von Wanderer
und Du kannst auch batch-Dateien und Programme direkt aufrufen.
Ich nutze das z.B. zum nacharbeiten gespeicherter Exporte, bevor diese als Dateianhang per Thunderbird verschickt werden sollen.
Du musst auch nicht erst cmd starten, obwohl dass von Vorteil sein kann, wenn MS Powershell zum default machen sollte...
J.