Seite 1 von 1

Re: stdout (Standardausgabe) eines Skriptes in String (Linux)

Verfasst: Fr, 07.08.2009 11:52
von komma4
Hallo Christian,

nein - dazu ist mir noch keine andere als die verwendete Lösung untergekommen.

timing-Probleme: warte im Skript (WHILE) bis die Datei erstellt wurde => FileExists [Laufzeitfunktion, s. F1 Online Hilfe]


Viel Erfolg!

Re: stdout (Standardausgabe) eines Skriptes in String (Linux)

Verfasst: Fr, 07.08.2009 12:55
von Stephan
Du kannst in Dein Script einen direkten Makroaufruf einzubauen mittels:

Code: Alles auswählen

soffice "macro:///Standard.Module1.test(<Parameter>)"
im Prinzip geht das, einzig kann ich Dir momentan nicht sagen wie das Verhalten bei einem solchen Aufruf ist, wenn das aufgerufende Script seinerseits ursprünglich von einem Makro aufgerufen wurde.

Durchsuche ggf. das internationale Forum:
www.oooforum.org

nach entsprrechenden Hinweisen



Gruß
Stephan

Re: stdout (Standardausgabe) eines Skriptes in String (Linux)

Verfasst: Fr, 07.08.2009 15:09
von Stephan
Falls das einfach nicht ginge
Meine vorgeschlagene Lösung, die genau das tut was Du angefragt hast, funktioniert also nicht? Was für konkrete Probleme tauchen auf?


Gruß
Stephan

Re: stdout (Standardausgabe) eines Skriptes in String (Linux)

Verfasst: Fr, 07.08.2009 20:06
von Stephan
Entschuldige, ich habe mich da wohl etwas ungenau ausgedrückt - ich bezog mich auf komma4s Antwort und meinte mit 'falls das einfach nicht ginge' die direkte Übergabe des stdout-Kanals des im Makro aufgerufenen Skriptes an eine Variable.
Eigentlich hast Du Dich nicht falsch ausgedrückt, denn genau das macht ja mein Vorschlag(*), weshalb ich nun nicht so recht verstehe warum Du jetzt einen Umweg gehen willst.

(*)
ich nahm an es wäre zu verstehen das das aufgerufene Makro, den Wert in die Variable schreibt, genau wie Du es wolltest

Skript:

Code: Alles auswählen

'...
soffice "macro:///Standard.Module1.test(stdout)"

Makro:

Code: Alles auswählen

Global meineVariable

Sub test(x)
meineVariable = x
End Sub

Gruß
Stephan

Re: stdout (Standardausgabe) eines Skriptes in String (Linux)

Verfasst: Fr, 07.08.2009 22:20
von komma4
Selbstverständlich läuft Stephans Code 8)

Direkte Übergabe der Ausgabe eines Linuxbefehls (stdout) an ein Makro [beachte: Kommando in back ticks einschliessen]

Code: Alles auswählen

#!/bin/bash
soffice "macro:///Standard.Module41.de26422( `linuxbefehl` )"
Was ich nicht getestet habe ist das Verhalten, wenn das Skript OOo während einer Bearbeitung (OOo ist beschäftigt, bspw. Druckausgabe, Formatierung grosser Dokumente oder während eines Makro-"Dauerläufer") aufgerufen wird resp. der Aufruf bei OOo "eintrifft".