Danke Karolus, deine Antwort war genau das, was ich suchte.
Warum willst du eine solche Struktur in ein normales Dokument einbetten?
Weil ich neugierig bin. Ich will wissen, ob man Python-Code dateigebunden weitergeben kann. Nicht für alles ist eine Extension angebracht. Ob Basic die bessere Lösung für solche Aufgaben ist, will ich erst einmal herausfinden.
Du bindest PropertyValue an den Namen p, um gleich danach suksessiv alle Elemente aus `doc.getArgs()` an den Namen zu binden ???
Hast Recht, war völliger Quatsch. Habe ich ohne Nachdenken so aus einer Internetquelle abgeschrieben.
Ausserdem funktioniert das SO nicht, dir scheint es nur so weil bereits vorher andererweitig `.../tools/tools1.py` erfolgreich importiert wurde.
tool1 ist eine (Test-)Funktion in tools.py. Diese Datei liegt nun neben start.py im Verzeichnis testmodul. Das Unterverzeichnis pythonpath habe ich entfernt. Daher sind auch die beiden zusätzlichen Zeilen in der Datei manifest.xml (s. Originalpost) nicht mehr nötig.
Ich verstehe aber nicht, wann und von was der Import vonstatten gegangen sein soll. Beim Versuch zu importieren wurde mir immer das Nichtvorhandensein des Moduls tools moniert. Erst mit den Zeilen
Code: Alles auswählen
import uno
import sys
doc = XSCRIPTCONTEXT.getDocument()
if uno.fileUrlToSystemPath(doc.URL) + '/Scripts/python/testmodul/' not in sys.path:
sys.path.append(uno.fileUrlToSystemPath(doc.URL) + '/Scripts/python/testmodul/')
from tools import tool1
im globalen Teil wird alles einfach. Die Funktion path_test ist dadurch überflüssig.
Volker
Danke Karolus, deine Antwort war genau das, was ich suchte.
[quote]Warum willst du eine solche Struktur in ein normales Dokument einbetten?[/quote]
Weil ich neugierig bin. Ich will wissen, ob man Python-Code dateigebunden weitergeben kann. Nicht für alles ist eine Extension angebracht. Ob Basic die bessere Lösung für solche Aufgaben ist, will ich erst einmal herausfinden.
[quote]Du bindest PropertyValue an den Namen p, um gleich danach suksessiv alle Elemente aus `doc.getArgs()` an den Namen zu binden ???[/quote]
Hast Recht, war völliger Quatsch. Habe ich ohne Nachdenken so aus einer Internetquelle abgeschrieben.
[quote]Ausserdem funktioniert das SO nicht, dir scheint es nur so weil bereits vorher andererweitig `.../tools/tools1.py` erfolgreich importiert wurde.[/quote]
tool1 ist eine (Test-)Funktion in tools.py. Diese Datei liegt nun neben start.py im Verzeichnis testmodul. Das Unterverzeichnis pythonpath habe ich entfernt. Daher sind auch die beiden zusätzlichen Zeilen in der Datei manifest.xml (s. Originalpost) nicht mehr nötig.
Ich verstehe aber nicht, wann und von was der Import vonstatten gegangen sein soll. Beim Versuch zu importieren wurde mir immer das Nichtvorhandensein des Moduls tools moniert. Erst mit den Zeilen
[code]import uno
import sys
doc = XSCRIPTCONTEXT.getDocument()
if uno.fileUrlToSystemPath(doc.URL) + '/Scripts/python/testmodul/' not in sys.path:
sys.path.append(uno.fileUrlToSystemPath(doc.URL) + '/Scripts/python/testmodul/')
from tools import tool1[/code]
im globalen Teil wird alles einfach. Die Funktion path_test ist dadurch überflüssig.
Volker