Seite 1 von 1

gelöst: Breite einer Texttabelle ändern

Verfasst: Fr, 07.08.2009 18:04
von jkl
Hallo,

ich möchte die Breite einer Tabelle meinen Wünschen entsprechend anpassen. Gefunden habe ich bislang folgenden Ansatz, der aber nicht richtig funktioniert:

Code: Alles auswählen

	newTable = oWochenplan.createInstance("com.sun.star.text.TextTable")
	newTable.initialize(UBound(aInhalt()), 4) 
	newTable.name="Wochenplantabelle"
	oWochenplan.Text.insertTextContent(oViewCursor, newTable, False)
	newTable.HoriOrient = 0
	newTable.leftMargin = 2000
	newTable.rightMargin = 2000
	acolumnseparators = newtable.TableColumnSeparators 
	nColSum = newtable.tablecolumnrelativesum 
	acolumnseparators( 0 ).position = nColSum / 10 * 2
	acolumnseparators( 1 ).position = nColSum / 10 * 1
	acolumnseparators( 2 ).position = nColSum / 10 * 5
	newtable.TableColumnSeparators = acolumnseparators
Mit einem ähnlichen Code konnte ich die Spalten in ihrer Breite zwar beeinflussen, aber nie gezielt und jetzt weiß ich gar nicht mehr warum es mal wenigstens teilweise funktioniert hat. Vielleicht hat jemand das Wissen und Lust mir das mal zu erklären.

Vielen Dank

Jens

Re: Breite einer Texttabelle ändern

Verfasst: Fr, 07.08.2009 21:45
von komma4
Die Endeposition ist bei 10000 Einheiten. Bei vier Spalten setzt Du drei Trenner

Code: Alles auswählen

oTabTrenner = oTextTable.TableColumnSeparators
oTabTrenner( 0 ).Position = 1500
oTabTrenner( 1 ).Position = 5500 
oTabTrenner( 2 ).Position = 8000 
oTextTable.TableColumnSeparators = 	oTabTrenner 
Hilft Dir das weiter?

Re: Breite einer Texttabelle ändern

Verfasst: Sa, 08.08.2009 15:20
von jkl
Hallo,

vielen Dank. Ich hatte deinen Hinweis zwar schon an anderer Stelle gelesen, aber erst jetzt ist bei mir der Groschen gefallen. Ich dachte, es müsste insgesamt eine Summe von 10000 ergeben und habe immer die Anteile bestimmt (also zum Beispiel 200, 2000, 4000, 2000). Aber es handelt sich sozusagen um Positionsangaben (Entfernung von links).

Vielen Dank

Jens