in einem bestehenden Textdokument (odt) möchte ich eigentlich nur die Breite der ersten Spalte der Texttabelle bestimmen in der sich aktuell der Cursor befindet.
Scheinbar ist die direkte Bestimmung dieser Spaltenbreiten garnicht so einfach, denn bisher finde ich nur den Weg sie so zu lesen:
https://forum.openoffice.org/en/forum/v ... mn#p213666
was dann einen Wert ergibt indem ich durch Umrechnung, unter Beachtung von .TableColumnRelativeSum die Breite der gewünschten Spalte bekomme WENN ich die Gesamtbreite der Tabelle kenne. Letztere sollte zu ermitteln sein mit:
<Tabellenobjekt>.Width
allein klappt das augenscheinlich nicht immer. Die angehängte Beispieldatei enthält eine Beispieltabelle (die ich aus einem bestehenden Dokument kopiert habe) und bei der:
Code: Alles auswählen
Sub Test()
v_cur = ThisComponent.CurrentController.ViewCursor
Msgbox v_cur.TextTable.Width
End Sub
Wenn ich geringfügige Veränderungen an den Tabellen Eigenschaften z.B. unter Register "Tabelle" Abstände-nach rechts vornehme. liefert das gleiche Makro problemlos den richtigen Wert für .Width, komischerweise selbst dann wenn ich erst den Wert geringfügig ändere, den Eigenschaftsdialog schließe, sofort den Eigenschaftsdialog wieder öffne und den ursprünglichen Wert wiederherstelle (geprüft mit z.B. -2,41 auf -2,36 gestellt und zurück auf -2,41).
Was ist da los?
Fehler beobachtet unter OO und LO.
Gruß
Stephan