Seite 1 von 1

Python Programme in LO einbinden

Verfasst: Do 14. Mär 2024, 19:57
von Lausbub
Guten Abend, ich mache gerade meine ersten Gehversuche mit LO.
Dabei möchte ich Python Programme einbauen. Nun habe ich mich ein wenig im Internet eingelesen, komme aber dennoch nicht weiter.
Ein kleines Python-Programm aus dem Internet habe ich auf meinem Rechner unter /user/Scripts/python/test.py gespeichert.
Beim Aufruf in LO von Extras>Makros>Verwalten>Python erhalte ich zunächst eine Fehlermeldung (s. Screenshot). Trotz mehrere Versuche kann ich den Fehler nicht beheben.
Nachdem ich nun die Fehlermeldung ignoriert habe, komme ich auf das gewünschte Fenster.
Nun sollte ich unter "Meine Makros" mein Python Testprogramm finden, aber es ist nichts von mir da...
Was könnte ich falsch machen?
Es wäre toll, wenn ich Hilfe bekäme.
Meine Umgebung: MACOS

Einen angenehmen Abend

Re: Python Programme in LO einbinden

Verfasst: Do 14. Mär 2024, 21:14
von karolus
Hallo

die falsche Fehlermeldung wg. Java-JRE kannst du du ignorieren!

Wenn deine »test.py« nicht unter ⇒Extras⇒Makros⇒Makros ausführen⇒Meine Makros auftaucht, hat das gewöhnlich eine der folgenden Ursachen:
  • der Code enthält Syntaxfehler und compiliert erst gar nicht…
und/oder
  • du hast alles auf Modulebene geschrieben, statt einer Funktionsdefinition
    (LO »hängt« ausschliesslich nur funktionen in der GUI ein)
hier wäre ein Beispiel:

Code: Alles auswählen

def sync_A1_B1(*_):
    doc = XSCRIPTCONTEXT.getDocument()
    table = doc.TextTables.Tabelle1
    input = table.getCellByName("A1").Text.String
    output = table.getCellByName("B1").Text
    output.String = input.replace('\n','\r').strip()
    for para in output.Text:
        para.ParaStyleName = "schreibschrift"
Ansonsten empfehle ich dir apso.oxt zum organisieren von python.

Re: Python Programme in LO einbinden

Verfasst: Fr 15. Mär 2024, 11:31
von Lausbub
karolus, vielen Dank für Deine Antwort.-
Leider kann ich das .py Programm noch immer nicht finden.
Möglicherweise habe ich einen Denkfehler. Den .py Code habe ich unter /Users/xxx/Scripts/python/test1.py abgelegt.
Bin ich hier im richtigen Ordner?

Nun habe ich zunächst eine grundsätzliche Frage:
> Mit Python habe ich schon gearbeitet.
> LibreOffice habe ich neu installiert und möchte zunächst mit calc arbeiten und makros erstellen.
Frage:
Empfiehlst Du mir, dass ich mich in Basic einarbeite und Makros in Basic erstelle oder soll ich Python-Code nutzen?

Im voraus schon einmal vielen Dank.

Re: Python Programme in LO einbinden

Verfasst: Fr 15. Mär 2024, 12:29
von karolus
Hallo

Den Pfad zu deiner Benutzer-Konfiguration findest du per ⇒Extras⇒Optionen⇒Pfade:

hier bsplw. für klassische Linux-Installationen:
/home/lausbub/.config/libreoffice/4/user/Scripts/python/
der rote Teil ist BetriebsSystem-abhängig
der grüne Teil ist überall gleich (falls du das nicht proaktiv geändert hast!)
die ordner in orange musst du ggf. selbst erstellen, oder du benutzt APSO wie bereits im letzten Post vorgeschlagen.

ps. laut: LO-Wiki findest du deine konfiguration (macOS) unter:
~/Library/Application Support/LibreOffice/4/user