stdout (Standardausgabe) eines Skriptes in String (Linux)

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

Moderator: Moderatoren

Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

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

Beitrag 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!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

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

Beitrag 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
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

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

Beitrag 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
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

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

Beitrag 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
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

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

Beitrag 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".
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten