Hiker hat geschrieben: ↑So, 18.09.2022 19:18
Frage: was ist das Verzeichnis . also das aktuelle Verzeichnis ?
Das war der entscheidene Tipp...zwar stimmt der Pfad zum Skript, aber der Pfad zur erzeugten Datei muß auch absolut zum erwarteten Verzeichnis sein
Also:
Sub CallScanReader
php_script = "/home/rammi/Schreibtisch/Scanner/index.php"
php = "/usr/bin/php"
Dim starten as object
starten = createUnoService("com.sun.star.system.SystemShellExecute")
starten.execute(php, php_script, 0)
End Sub
Zuletzt geändert von rammi22 am So, 18.09.2022 20:00, insgesamt 1-mal geändert.
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2
Karolus hat geschrieben: ↑So, 18.09.2022 18:45
...in 95% brauchst du zunächst mal das …php dingens nicht...
Na ja, ich bin PHP-Entwickler und das auszuführende Skript löst eine umfangreiche PHP-Applikation aus. Da fehlt Wissen und Zeit, alles in ein Python-Skript zu bauen.
wie bereits gesagt für diese 5% gibts in python subprocess…
rammi22 hat geschrieben: ↑So, 18.09.2022 18:55
Abgesehen davon denke ich, ist es total egal ob php oder sonst irgendwas. So ein Aufruf über eine UI wie OO sollte immer funktionieren.
"sollte funktionieren" …berühmte letzte Worte (Softwareentwickler)
rammi22 hat geschrieben: ↑So, 18.09.2022 18:55
Ich denke, eventuell sind es die Pfade zu den Skripten, bei vielen Beiträge zum Thema shell() wird ja ein Windows-Nutzer vorrausgesetzt...
Du schliesst aus der Tatsache das es mehr Windows-benutzer als Linux-leute gibt, das es an den Pfadangaben liegt
rammi22 hat geschrieben: ↑So, 18.09.2022 18:55
Ich habe das .php-Skript mit einem .sh Skript ausgetauscht, auch hier wird über das Terminal eine test.txt geschrieben aber über die Makro-Steuerung passiert nix
Karolus hat geschrieben: ↑So, 18.09.2022 19:41
ein vergleichbares .sh-script mit absoluter pfad-angabe im Script tut bei mir mit dem bereits beschriebenen Vorgehen via →→Formular/Webseite öffnen
Es geht ja nun, siehe oben, vielen Dank
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2
rammi22 hat geschrieben: ↑So, 18.09.2022 19:30
...
Das war der entscheidene Tipp...zwar stimmt der Pfad zum Skript, aber der Pfad zur erzeugten Datei muß auch absolut zum erwarteten Verzeichnis sein
...
Nicht unbedingt. Man muss nur berücksichtigen, dass es um das aktuelle Verzeichnis des Prozesses geht, was entweder das Verzeichnis sein kann aus dem das Programm gestartet wurde, oder von einer .desktop Datei gesetzt wird oder oder oder...- also nicht ist, worauf man sich verlassen kann.
Also könntest Du auch Dein Skript mit einem cd-Befehl beginnen oder auch das zu verwendende Verzeichnis als Parameter übergeben. (Oder im Skript herausfinden mit welchem Pfad es aufgerufen wurde.)
Nachdem der Anfang erstmal funktioniert, hast Du alle Möglichkeiten...
Schaltfläche im neuen Dokument eingefügt und mit Makro verbunden und ausgeführt (Klick)
Ergebnis: es wird nix im Terminal angezeigt, scheint mir ja auch unmöglich, weil das Terminal mit dem Starten eines neuen Dokument, das Kommando beendet und den Focus auf das Dokument dadurch verloren hat?!
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2
Mglw. läuft bei dir bereits ein soffice-process im Hintergrund (aka Schnellstarter?) der okkupiert dann den neu gestarteten und letzterer kehrt zur Befehlszeile zurück?
das kannst du nachprüfen indem du alle Dokumente schliesst, und im Terminal den Befehl:
Karolus hat geschrieben: ↑Mo, 19.09.2022 11:36
Mglw. läuft bei dir bereits ein soffice-process im Hintergrund (aka Schnellstarter?) der okkupiert dann den neu gestarteten...
Ja, das war das Problem
Gruss Rammi
----------------------------------------------------
Linux 22.04 | Win11 | LibreOffice 7.3.5.2