oEnum = oThisDoc.Text.createEnumeration
While oEnum.hasMoreElements()
oPara = oEnum.nextElement()
If goPara.supportsService("com.sun.star.text.TextTable") Then
MsgBox oPara.Width
End If
Wend
Hi Herbert,
danke für die schnelle Antwort! Wenn die Angabe in 100stel Millimeter ist, dann ist die Tabelle 1155 Millimeter breit? Das kann doch nicht sein, oder?
das ist allerdings ziemlich breit.
Allerdings kann ich dir keine andere Antwort bietet.
Ich zitiere aus dem Hanbuch:
"Hier die wichtigsten Eigenschaften des Tabellen-Objektes:
...
- Width (Long) - absolute Breite der Tabelle in 100stel Millimeter."
So steht es in der deutschen Übersetzung StarOffice 7 Basic-Programmierhandbuch, die ich bei Sun heruntergeladen habe.
Ich könnte mir allenfalls erklären, dass die Übersetzer einen Fehler gemacht haben, dann allerdings durchgängig, da diese 100stel mm mehr als einmal erscheinen.
Gruß
Herbert
Zuletzt geändert von HM am Do, 22.07.2004 16:58, insgesamt 1-mal geändert.
Ich kann den Wert für das Einfügen einer "Standardtabelle" mit 115596 nachvollziehen. Den Grund sehe ich darin das die Tabellen auf Seitenbreite skalliert werden und wohl intern über diesen Breitenwert verfügen, auch wenn in den Tabelleneigenschaften für die Breite anderes angezeigt wird. Aber das ist nur meine Vermutung...
Wenn ich jedenfalls meine Tabelle manuell so skalliere da sie schmaler als der Satzspiegel ist liefert das Makro einen Wert von 8742 und meine Tabelle ist (laut Tabelleneigenschaftendialog) 87,4 mm breit.
Hi, danke für eure Antworten.
In der Tabelleneigenschaften ist die Breite 17cm angegeben. Durch Makro wird aber eine große Zahl (115596)ausgegeben. Wenn ich die Breite verkleine, dann liefert das Makro den richtigen Wert. Also wie kann man die tatsächliche Breite ermitteln, die das Makro so eine große Zahl wie oben liefert?
Ich habe jetzt einige Werte durchprobiert und würde sagen das es sich so verhält wie ich es in meinem vorangegangenen post vermutet habe. Wenn man eine Tabelle über Einfügen>Tabelle einfügt ist diese immer real so breit wie der Satzspiegel, intern jedoch immer 115596/100. Der Wert 115596/100 ist quasi der Defaultwert für jede neue Tabelle, das sollte sich ändern lassen - nur wo?
Also wie kann man die tatsächliche Breite ermitteln, die das Makro so eine große Zahl wie oben liefert?
Ich würde meinen: Tabellenbreite ermitteln, wie von Dir vorgeschlagen und prüfen ob diese Breite größer als der Satzspiegel ist (unter Berücksichtigung 1/100 mm), wenn:
ja --> dann Tabelle so breit wie der Satzspiegel
nein --> dann Tabelle so breit wie ermittelt