Hallo
Ich fang mal von hinten an:
Code: Alles auswählen
4. = 3. = 2. = 1. = True # das wirft natürlich einen SyntaxError, daher:
_4 = _3 = _2 =_1 = True # das ist gültiger Pythoncode
( auf deutsch: ein klares Ja auf alle vier Fragen )
Die offiziellen Hilfeseiten auf LO sind im Bezug auf python nicht so wirklich nützlich, insbesondere die Links auf irgendwelche ScriptForge-services die man doch bitteschön jetzt und gleich als python-Programmierer benutzen soll sind eher kontraproduktiv.
Die ganzen älteren Anleitungen sind eigentlich ausschliesslich auf Basic fokussiert, aber überall da wo es um API-zugriffe geht, relativ einfach nach python zu übersetzen. ( IMHO wesentlich leichter als das prototypische VBA-geschwurbel (welches hier und überall aufschlägt ) nach vernünftigen Basic|python zu portieren. )
IMHO: mittel- bis langfristig bist du besser bedient, wenn du zu ALLERERST die Grundlagen zu
python zb. hier das Tutorial durcharbeitest. Wenn du das geschafft hast, kannst du dich auch langsam an die Libreoffice-Api rantasten.
(Ich weiss die Lernkurve ist insbesondere für VBA-geschädigte anfangs furchtbar steil, aber bist du erstmal oben, kannst du mit python auch dann noch etwas machen wenn die Zombie-sprachen aus dem letzen Jahrhundert (VBA|StarBasic) endlich mal ihr natürliches Ende finden.)
Bei allen Fragen, insbesondere zu python darfst du gerne die Suchfunktionen hier oder
hier oder
hier auch mit dem Stichwort
karolus benutzen.
und eine (von etlichen Möglichkeiten) vollständige Antwort zu den Beispielsfragen:
Code: Alles auswählen
def example(*_):
doc = XSCRIPTCONTEXT.getDocument()
source = doc.Sheets["BEISPIEL"]
data = source["C4:D91"].DataArray #1.
source["E4:E91"].DataArray = [["ja"],] * len(data) # 4.
target = doc.Sheets["ASDF"]
cursor = target.createCursorByRange(sheet["C:C"]) # 2.
query=cursor.queryEmptyCells() # 2.
cursor = sheet.createCursorByRange(query[0]) # 2.
cursor.collapseToSize(len(data[0]), len(data))
cursor.DataArray = data # 3.