Wenn ich xTableRows in xTableRows(y) ändere, dann mache ich ja aus einem Objekt eine Funktion die es nicht gibt. Ich denke du meinst eine Methode die mir die y-te Zeile gibt.
Nö, ich meinte, wie beschrieben, den Index.
Ich kann das aber in Java nicht beurteilen, deshalb macht es für mich keinen Sinn darüber zu streiten, einzig ist in StarBasic:
oder
die 'collection' aller Spalten des Blattes 0 und folglich:
die erste Spalte, nichts mit Funktion sondern ein Array (Rows(0) bis Row(255)) das die entsprechenden Spaltenobjekte enthält
Den Dev-Guide hab ich wohl durchgeschaut aber ein Beispiel das mir zu jeder Spalte die Größe gibt steht da nicht drin.
Ich zumindest bin relativ überzeugt das aus:
Code: Alles auswählen
com.sun.star.beans.XPropertySet xPropSet = null;
// *** Modifying COLUMNS and ROWS ***
// Get column C by index (interface XIndexAccess).
Object aColumnObj = xColumns.getByIndex(2);
xPropSet = (com.sun.star.beans.XPropertySet)
UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, aColumnObj);
xPropSet.setPropertyValue("Width", new Integer(5000));
// Get the name of the column.
com.sun.star.container.XNamed xNamed = (com.sun.star.container.XNamed)
UnoRuntime.queryInterface(com.sun.star.container.XNamed.class, aColumnObj);
aText = "The name of this column is " + xNamed.getName() + ".";
xRange.getCellByPosition(2, 2).setFormula(aText);
// Get column D by name (interface XNameAccess).
com.sun.star.container.XNameAccess xColumnsName = (com.sun.star.container.XNameAccess)
UnoRuntime.queryInterface(com.sun.star.container.XNameAccess.class, xColumns);
aColumnObj = xColumnsName.getByName("D");
xPropSet = (com.sun.star.beans.XPropertySet)
UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, aColumnObj);
xPropSet.setPropertyValue("IsVisible", new Boolean(false));
// Get row 7 by index (interface XIndexAccess)
Object aRowObj = xRows.getByIndex(6);
xPropSet = (com.sun.star.beans.XPropertySet)
UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, aRowObj);
xPropSet.setPropertyValue("Height", new Integer(5000));
// Create a cell series with the values 1 ... 7.
for (int nRow = 8; nRow < 15; ++nRow)
xRange.getCellByPosition( 0, nRow ).setValue( nRow - 7 );
// Insert a row between 1 and 2
xRows.insertByIndex(9, 1);
// Delete the rows with the values 3 and 4.
xRows.removeByIndex(11, 2);
eine funktionierende Lösung abzuleiten ist und genau dieser Code steht im Developersguide.
Möglicherweise ist noch eine kleine Umschreibung nötig, beispielsweise durch Ersatz von .setPropertyValue gegen .getPropertyValue und die Nichtübergabe eines Wertes und Du brauchst eine Wert-Übergabe für den ermittelten Wert.
Vielleicht hilft auch:
http://www.oooforum.org/forum/viewtopic ... width+java
(das englische Forum ist übrigens hier im ersten Thread verlinkt)
Gruß
Stephan
[quote]Wenn ich xTableRows in xTableRows(y) ändere, dann mache ich ja aus einem Objekt eine Funktion die es nicht gibt. Ich denke du meinst eine Methode die mir die y-te Zeile gibt.[/quote]
Nö, ich meinte, wie beschrieben, den Index.
Ich kann das aber in Java nicht beurteilen, deshalb macht es für mich keinen Sinn darüber zu streiten, einzig ist in StarBasic:
[code]ThisComponent.Sheets(0).Rows[/code]
oder
[code]ThisComponent.Sheets(0).Rows()[/code]
die 'collection' aller Spalten des Blattes 0 und folglich:
[code]ThisComponent.Sheets(0).Rows(0)[/code]
die erste Spalte, nichts mit Funktion sondern ein Array (Rows(0) bis Row(255)) das die entsprechenden Spaltenobjekte enthält
[quote]Den Dev-Guide hab ich wohl durchgeschaut aber ein Beispiel das mir zu jeder Spalte die Größe gibt steht da nicht drin.[/quote]
Ich zumindest bin relativ überzeugt das aus:
[code]com.sun.star.beans.XPropertySet xPropSet = null;
// *** Modifying COLUMNS and ROWS ***
// Get column C by index (interface XIndexAccess).
Object aColumnObj = xColumns.getByIndex(2);
xPropSet = (com.sun.star.beans.XPropertySet)
UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, aColumnObj);
xPropSet.setPropertyValue("Width", new Integer(5000));
// Get the name of the column.
com.sun.star.container.XNamed xNamed = (com.sun.star.container.XNamed)
UnoRuntime.queryInterface(com.sun.star.container.XNamed.class, aColumnObj);
aText = "The name of this column is " + xNamed.getName() + ".";
xRange.getCellByPosition(2, 2).setFormula(aText);
// Get column D by name (interface XNameAccess).
com.sun.star.container.XNameAccess xColumnsName = (com.sun.star.container.XNameAccess)
UnoRuntime.queryInterface(com.sun.star.container.XNameAccess.class, xColumns);
aColumnObj = xColumnsName.getByName("D");
xPropSet = (com.sun.star.beans.XPropertySet)
UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, aColumnObj);
xPropSet.setPropertyValue("IsVisible", new Boolean(false));
// Get row 7 by index (interface XIndexAccess)
Object aRowObj = xRows.getByIndex(6);
xPropSet = (com.sun.star.beans.XPropertySet)
UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, aRowObj);
xPropSet.setPropertyValue("Height", new Integer(5000));
// Create a cell series with the values 1 ... 7.
for (int nRow = 8; nRow < 15; ++nRow)
xRange.getCellByPosition( 0, nRow ).setValue( nRow - 7 );
// Insert a row between 1 and 2
xRows.insertByIndex(9, 1);
// Delete the rows with the values 3 and 4.
xRows.removeByIndex(11, 2);[/code]
eine funktionierende Lösung abzuleiten ist und genau dieser Code steht im Developersguide.
Möglicherweise ist noch eine kleine Umschreibung nötig, beispielsweise durch Ersatz von .setPropertyValue gegen .getPropertyValue und die Nichtübergabe eines Wertes und Du brauchst eine Wert-Übergabe für den ermittelten Wert.
Vielleicht hilft auch:
http://www.oooforum.org/forum/viewtopic.phtml?t=21350&highlight=width+java
(das englische Forum ist übrigens hier im ersten Thread verlinkt)
Gruß
Stephan