Zellenformatierung einer Texttabellenzelle

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zellenformatierung einer Texttabellenzelle

Re: Zellenformatierung einer Texttabellenzelle

von steffn » So, 28.12.2008 19:05

ich habe das früher so gelöst:
nach den festen bestandteilen sehr schmale spalten ohne senkrechte rahmen anlegen und dann nur eine seite des viel größeren druckbereichs drucken
=)

Re: Zellenformatierung einer Texttabellenzelle

von ChristianMuc » Sa, 27.12.2008 14:55

Hallo Windfried,

Ich muss dir wohl schnell schildern, was ich überhaupt erstellen will:

Ich arbeite an einer Schule. Ich möchte, dass ich aus der Schuelerdatei automatisch Klassenslisten ziehe: Sie soll die Form |Schuelername | | haben, also zweispaltig und zweite Spalte sollte moeglichst viel Platz haben, da in dieser Spalte Platz fuer Eintragungen des Lehrers freigelassen werden soll. Daher sollte die Spalte Schuelername moeglichst wenig Platz verbrauchen, und somit die Spalte an den laengsten Namen angepasst werden.
Per Hand geht das ja ziemlich einfach: Ich markiere die Namensspalte, Rechtemaustaste- Optimale Spaltenbreite, schon passt es!. Ich hab gedacht, ich könnte das mit einem Makro nachbilden. Vielleicht hast du ja eine Idee.
Danke fuer deine Muehe
Christian

Re: Zellenformatierung einer Texttabellenzelle

von komma4 » Sa, 27.12.2008 10:08

ChristianMuc hat geschrieben:Z.B. würde ich jetzt eine Methode benoetigen, die bestimmt, wie lang ein Text ist. Mit dieser Angabe koennte ich dann den laengsten Wert in einer Spalte ermitteln und dann die Spaltebreite auf den längsten Text anpassen.

Die Länge eines Textes kann mit dem Basicbefehl LEN() ermittelt werden.
Wie lange eine Zeichenkette jedoch im Dokument wird, hängt von verschiedenen Faktoren ab:
Font (Spacing/Laufweite), Auflösung, ... (dazu kenne ich auch keinen API-Aufruf - oder eine Berechnungsmethode).

Auch könnte ein Eintrag ja die volle Seitenbreite einnehmen: was soll dann mit den anderen Spalten geschehen? Vorschlag: gehe den umgekehrten Weg und bestimme die Minimalbreite der "Rest"-Spalten. Geht das?

Re: Zellenformatierung einer Texttabellenzelle

von ChristianMuc » Fr, 26.12.2008 00:57

Hallo Winfried,
Danke für die schnelle Antwort.
Leider habe ich das große Problem, dass ich mich in der Api überhaupt nicht zurechtfinde. Ich finde nie die Objekte und die Methoden, die brauche.
Z.B. würde ich jetzt eine Methode benoetigen, die bestimmt, wie lang ein Text ist. Mit dieser Angabe koennte ich dann den laengsten Wert in einer Spalte ermitteln und dann die Spaltebreite auf den längsten Text anpassen. Wie ich die Spaltenbreite verändere, weiß ich ja jetzt, aber wie bestimme ich den längsten Text? Und da ich die Spaltenangabe eine relative Angabe ist, muesste ich dann den Bruchteil der Gesamtspalte berechnen. Nur leider weiss ich auch nicht, wie die aktuelle Breite einer Tabelle auslese. Wie kann ich mich denn mit der API behelfen? Ich steh immer wie doof vor der HP, klicke stunden durch und finde trotzdem nichts .
Es gibt ja auch keine Autovervollständingung wie bei anderen Programmiersprache, die einem dann eine Hilfestelle geben könnte. Auch mit xray bin ich nicht sonderlich weitergekommen leider :-(
Christian

Re: Zellenformatierung einer Texttabellenzelle

von komma4 » Do, 25.12.2008 19:56

Willkommen im Forum.

In meiner Extension AutoTextListe2 wird eine Texttabelle in ein Writer Dokument eingefügt und die Spaltenbreite festgelegt, Stichwort: TableColumnSeparators (Gesamtbreite einer TT sind 10000 Einheiten).
Mit der Tabellenhöhe habe ich noch nicht experimentiert...

Für Lernende der StarBasic-Programmierung finden sich einige Links im ersten Beitrag unseres Admins Stephan in diesem Forenbereich.

Meine Top-Empfehlungen sind:
Andrews Makrodokument
und das Tool XRay zur Untersuchung von Objekten zur Laufzeit.
Das SDK von http://development.openoffice.org lokal vorrätig zu haben schadet auch nie.

Viel Erfolg!

Zellenformatierung einer Texttabellenzelle

von ChristianMuc » Do, 25.12.2008 18:46

Hallo,

Ich habe folgendes Problem:
Ich habe ein Skript geschrieben, dass eine Texttabelle in Openofficedokument(Writer) einfügt.
Leider kann ich nicht die Höhe und die Breite der einzelnen Zellen formatieren. Wer weiß, welche Prozdur ich aufrufen oder welche Eigenschaft welches Objektes ich dazu verändern muss?

Leider habe ich keine Lösung gefunden.

Christian

Nach oben