Shell Command, oder Pearlskript aus einer Zelle heraus

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

carp-enter
Beiträge: 1
Registriert: Sa, 30.12.2006 10:04

Shell Command, oder Pearlskript aus einer Zelle heraus

Beitrag von carp-enter »

Hallo,
gibt es eine Möglichkeit ein Shell Command, oder ein Pearl Skript aus einer Zelle heraus zu starten? Das Ergebnis sollte dann ein auswertbarer Wert in der gleichen Zelle sein. So, als wenn es sich um eine "eingebaute" Funktion handelt.
Viele Grüße
Volker
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Volker,

sollte funktionierern, hab es aber selbst nicht getestet.

Du erstellst dir eine benutzerdefinierte Funktion (im Basic - Standard-Bibliothek!). Basic selbst kennt ein Shell-Kommando, dadurch kannst du externe Skripte aufrufen. Wenn dieses einen Rückgabewert hat, dann sollte der auch in Basic erreichbar sein. Diesen dann als Rückgabewert der selbstdefinierten Funktion festlegen, und der wird in der Zelle angezeigt.

das müsste dann wie folgt aussehen:

Code: Alles auswählen

function MEINEFUNKTION()
  dim ergebnis as ....
   ergebnis = shell("<pfad und Skriptaufruf>", 0, "", True)
   MEINEFUNKTION = ergebnis
end function
Ich bin mir aber unsicher, ob der Shell-aufruf überhaupt eine Rückgabewert liefern kann. Das musst du ausprobieren.
Der vierte Parameter muss jedenfalls auf "True" gesetzt werden, sonst wartet OOo Basic nicht mit der weiteren Ausführung des Basic-Programms auf das Ende des Shell-Aufrufs.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Toxitom hat geschrieben:Wenn dieses einen Rückgabewert hat
shell hat den RC = 0, wenn der Befehl gefunden wurde.

Umweg: Ausgabe in eine temporäre Datei schreiben und diese auslesen.
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