Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Am 13.09.2011 19:54, schrieb Jochen:
Hallo Peter,

ich hoffe, dass ich Dich nicht allzu nerve.

keineswegs

Am 13.09.2011 15:34, schrieb Peter Eberlein:
getByIndex(0) spricht die erste, getByIndex(1) die zweite an usw.

Mein Ziel ist es, dass ich in eine beliebige Tabelle klicke und dass das
Makro die Spalteneinstellung für diese Tabelle ausführt.
Der Weg über den Tabellennamen oder die "Tabellenziffer" ermöglicht dies
nicht. Gibt es da eine Lösungsmöglichkeit.

Da jede Tabelle eine unterschiedliche Anzahl von Spalten beheimaten kann, macht es nur Sinn, wenn Du sicherstellen kannst, dass die Tabellen gleich aufgebaut sind. Du kannst dann mit einer For-Schleife über alle Tabellen iterieren (siehe Basic Hilfe). Oder man ermittelt den Tabellenamen wie folgt über die Position des Cursors:


Sub Main
oViewCursor = ThisComponent.CurrentController.getViewCursor
if (not isEmpty(oViewCursor.getPropertyValue("TextTable"))) then
  sTableName = oViewCursor.getPropertyValue("TextTable").Name
else
  msgBox "Cursor steht nicht in Tabelle", 64
End if
oTable = thisComponent.TextTables.getByName(sTableName)
oTblColSeps = oTable.TableColumnSeparators
oTblColSeps(0).Position = 800
oTblColSeps(1).Position = 900
oTblColSeps(2).Position = 1600
oTable.TableColumnSeparators = oTblColSeps
End Sub

Dies löst in meinem Dokument keine Reaktion aus. Ich weiß nicht einmal,
ob der Fokus in die Tabelle springt und versucht, dort etwas auszulösen.

Der Focus/Cursor wird für die Aktionen nicht benötigt.

Hast Du noch eine Idee, wie ich da weiter kommen kann?
Was ist bei Dir anders, dass das Makro das macht, was er machen soll -
nämlich die Spaltenbreite einstellen?

Zieh mal eine neue fünfspaltige Tabelle auf und probier das Makro
LibreOffice 3.3.3 OOO330m19 (Build:301)
OS: Windoes 7 Prof. (64 bit)

ich habe OpenOffice 3.2.1, aber das sollte keinen Unterschied machen, an diese API ist Libre bisher nicht rangegangen.

Gruß Peter

--
Informationen zum Abmelden: E-Mail an users+help@de.libreoffice.org
Tips zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.