Seite 1 von 1

Python : Writer : Arbeiten mit Tabellen

Verfasst: Fr 14. Nov 2014, 09:58
von lumnis
Hallo,
kann mir jemand ein paar Hinweise bzw auch Beispielcode nennen/posten zur Arbeit mit Tabellen in Writer. Es geht dabei vor allem um ändern der Eigenschaften / Formatierung.
Tabellen Einfügen und Zellen einfärben geht.

Folgendes fehlt mir konkret:
- Zellen verbinden / teilen
- Spaltenbreiten einstellen
- Umrandung definieren

Vielen Dank für die Hilfe!

Re: Python : Writer : Arbeiten mit Tabellen

Verfasst: Fr 14. Nov 2014, 14:13
von lessger
Hallo Lumnis,

ich kann Dir bei Deinem Thema nicht direkt helfen.

Sollte sich sonst niemand melden, hilft Dir vielleicht folgendes weiter:
  • Zeichne im Makro-Rekorder die Aktionen auf, die Du mit Python programmieren willst. Dann schau Dir das erzeugte Makro an. Das ist zwar in Basic, aber das Objektmodel ist genau das gleiche. Es geht nicht darum, denn erzeugten Code direkt zu verwenden, sondern Beispielcode zu bekommen.
  • Schau Dir mit einem Tool wie MRI die entsprechenden Writer-Objekte, vor allem auch die angebotenen Methoden an. Das müssen nicht unbedingt die Makrorekorder genutzten Methoden bzw. Objekte sein.
Grüße
Gerhard

Re: Python : Writer : Arbeiten mit Tabellen

Verfasst: Sa 15. Nov 2014, 12:59
von lumnis
Hallo Gerhard,
danke für die Hinweise, ich schon über mri gelesen, aber noch nicht verwendet. Das werde ich dann mal versuchen, ob mich das weiter bringt, auch in Zukunft, da ich nicht viel Dokumentation zu Python/libreoffice finden kann.

Viele Grüße,

Re: Python : Writer : Arbeiten mit Tabellen

Verfasst: Mi 19. Nov 2014, 10:33
von lumnis
lumnis hat geschrieben: - Zellen verbinden / teilen

Code: Alles auswählen

# create a text table
    table = model.createInstance( "com.sun.star.text.TextTable" )
    
    # mit 4 Reihen und 4 Spalten
    table.initialize( 4 , 4)
    
    # Tabelle in das Textdokument einfügen
    text.insertTextContent( cursor, table, 0 )
    
    # Zellen verbinden
    ## Kursor setzen
    oCurs = table.createCursorByCellName("A1")
    ## Zellen markieren
    oCurs.goRight(1,True)
    #oCurs.goDown(1,True)
    ## Zellen verbinden
    oCurs.mergeRange()
Viel Spaß damit!