von Gert Seler » Mi, 04.07.2007 17:13
Hallo Chriz & Eia,
sind mir eben 2 Beispiele für "Zellformatierungen" in "Star-Basic" in die Hände gefallen.
Diese beschreiben, wie die "optimale Spalten- oder Zellbreite im Modul funktionieren soll. Aus "Star-Office Programmierhandbuch für BASIC"
Zeilen und Spalten
Jede Tabelle enthält eine Liste ihrer Zeilen und Spalten. Sie sind über die Eigenschaften Rows beziehungsweise Columns des Tabellenobjekts verfügbar und unterstützen die Dienste com.sun.star.table.TableColumns beziehungsweise com.sun.star.table.TableRows.
Das folgende Beispiel erzeugt zwei Objekte, die auf die erste Zeile und die erste Spalte einer Tabelle verweisen, und speichert diese Referenzen in den Objektvariablen FirstCol und FirstRow.
Dim Doc As Object
Dim Sheet As Object
Dim FirstRow As Object
Dim FirstCol As Object
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
FirstCol = Sheet.Columns(0)
FirstRow = Sheet.Rows(0)
Die Spaltenobjekte unterstützen den Dienst com.sun.star.table.TableColumn, der folgende Eigenschaften bereitstellt:
*
Width (Long): Breite einer Spalte in 100stel Millimeter.
*
OptimalWidth (Boolean): setzt eine Spalte auf ihre optimale Breite.
*
IsVisible (Boolean): zeigt eine Spalte an.
*
IsStartOfNewPage (Boolean): erzeugt beim Drucken vor einer Spalte einen Seitenumbruch.
Die Breite einer Spalte wird nur optimiert, wenn die Eigenschaft OptimalWidth auf True festgelegt ist. Wird die Breite einer einzelnen Zelle geändert, bleibt die Breite der Spalte, in der sich die Zelle befindet, unverändert. Funktional handelt es sich bei OptimalWidth also eher um eine Methode als um eine Eigenschaft.
Die Zeilenobjekte basieren auf dem Dienst com.sun.star.table.RowColumn, der folgende Eigenschaften bereitstellt:
*
Height (long): Höhe der Zeile in 100stel Millimeter.
*
OptimalHeight (Boolean): setzt die Zeile auf ihre optimale Höhe.
*
IsVisible (Boolean): zeigt die Zeile an.
*
IsStartOfNewPage (Boolean): erzeugt beim Drucken vor einer Zeile einen Seitenumbruch.
Wenn die Eigenschaft OptimalHeight einer Zeile auf den Wert True festgelegt ist, ändert sich die Zeilenhöhe automatisch, wenn die Höhe einer Zelle in der Zeile geändert wird. Die automatische Optimierung bleibt so lange aktiv, bis der Zeile über die Eigenschaft Height eine absolute Höhe zugewiesen wird.
Folgendes Beispiel aktiviert die automatische Höhenoptimierung für die ersten fünf Zeilen in der Tabelle und blendet die zweite Spalte aus.
Dim Doc As Object
Dim Sheet As Object
Dim Row As Object
Dim Col As Object
Dim I As Integer
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
For I = 0 To 4
Row = Sheet.Rows(I)
Row.OptimalHeight = True
Next I
Col = Sheet.Columns(1)
Col.IsVisible = False
Hinweis –
Auf die Listen Rows und Columns kann über einen Index in StarOffice Basic zugegriffen werden. Anders als in VBA hat die erste Spalte jedoch den Index 0 und nicht den Index 1.
Es handelt sich um " Star-Office 8.0 ". Vielleicht kann jemand daraus eine Lösung programmieren.
mfg
Gert
Hallo Chriz & Eia,
sind mir eben 2 Beispiele für "Zellformatierungen" in "Star-Basic" in die Hände gefallen.
Diese beschreiben, wie die "optimale Spalten- oder Zellbreite im Modul funktionieren soll. Aus [b]"Star-Office Programmierhandbuch für BASIC"[/b]
[color=#800000]Zeilen und Spalten
Jede Tabelle enthält eine Liste ihrer Zeilen und Spalten. Sie sind über die Eigenschaften Rows beziehungsweise Columns des Tabellenobjekts verfügbar und unterstützen die Dienste com.sun.star.table.TableColumns beziehungsweise com.sun.star.table.TableRows.
Das folgende Beispiel erzeugt zwei Objekte, die auf die erste Zeile und die erste Spalte einer Tabelle verweisen, und speichert diese Referenzen in den Objektvariablen FirstCol und FirstRow.
Dim Doc As Object
Dim Sheet As Object
Dim FirstRow As Object
Dim FirstCol As Object
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
FirstCol = Sheet.Columns(0)
FirstRow = Sheet.Rows(0)
Die Spaltenobjekte unterstützen den Dienst com.sun.star.table.TableColumn, der folgende Eigenschaften bereitstellt:
*
Width (Long): Breite einer Spalte in 100stel Millimeter.
*
OptimalWidth (Boolean): setzt eine Spalte auf ihre optimale Breite.
*
IsVisible (Boolean): zeigt eine Spalte an.
*
IsStartOfNewPage (Boolean): erzeugt beim Drucken vor einer Spalte einen Seitenumbruch.
Die Breite einer Spalte wird nur optimiert, wenn die Eigenschaft OptimalWidth auf True festgelegt ist. Wird die Breite einer einzelnen Zelle geändert, bleibt die Breite der Spalte, in der sich die Zelle befindet, unverändert. Funktional handelt es sich bei OptimalWidth also eher um eine Methode als um eine Eigenschaft.
Die Zeilenobjekte basieren auf dem Dienst com.sun.star.table.RowColumn, der folgende Eigenschaften bereitstellt:
*
Height (long): Höhe der Zeile in 100stel Millimeter.
*
OptimalHeight (Boolean): setzt die Zeile auf ihre optimale Höhe.
*
IsVisible (Boolean): zeigt die Zeile an.
*
IsStartOfNewPage (Boolean): erzeugt beim Drucken vor einer Zeile einen Seitenumbruch.
Wenn die Eigenschaft OptimalHeight einer Zeile auf den Wert True festgelegt ist, ändert sich die Zeilenhöhe automatisch, wenn die Höhe einer Zelle in der Zeile geändert wird. Die automatische Optimierung bleibt so lange aktiv, bis der Zeile über die Eigenschaft Height eine absolute Höhe zugewiesen wird.
Folgendes Beispiel aktiviert die automatische Höhenoptimierung für die ersten fünf Zeilen in der Tabelle und blendet die zweite Spalte aus.
Dim Doc As Object
Dim Sheet As Object
Dim Row As Object
Dim Col As Object
Dim I As Integer
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
For I = 0 To 4
Row = Sheet.Rows(I)
Row.OptimalHeight = True
Next I
Col = Sheet.Columns(1)
Col.IsVisible = False
Hinweis –
Auf die Listen Rows und Columns kann über einen Index in StarOffice Basic zugegriffen werden. Anders als in VBA hat die erste Spalte jedoch den Index 0 und nicht den Index 1.[/color]
Es handelt sich um " Star-Office 8.0 ". Vielleicht kann jemand daraus eine Lösung programmieren.
mfg
Gert