Sun Microsystems
Termékek
 
Támogatás
 
 

Előző Előző     Tartalom     Tárgymutató     Következő Következő

Annak ellenére, hogy az A1 cella a 100 értéket, az A2 cella az 1000 értéket tartalmazza, az A1+A2 képlet a 100 értéket adja vissza. Ez azért van, mert az A2 cella tartalma szövegként lett megadva.

Ha ellenőrizni akarjuk, hogy egy cella számot vagy szöveget tartalmaz-e, használjuk a Type tulajdonságot:

Dim Doc As Object

Dim Sheet As Object

Dim Cell As Object



Doc = StarDesktop.CurrentComponent

Sheet = Doc.Sheets(0)

Cell = Sheet.getCellByPosition(1,1)



Cell.Value = 1000



Select Case Cell.Type 

Case com.sun.star.table.CellContentType.EMPTY 

   MsgBox "Tartalom: üres"

Case com.sun.star.table.CellContentType.VALUE

   MsgBox "Tartalom: érték"

Case com.sun.star.table.CellContentType.TEXT

   MsgBox "Tartalom: szöveg"

Case com.sun.star.table.CellContentType.FORMULA

   MsgBox "Tartalom: képlet"

End Select

A Cell.Type tulajdonság visszaadja a com.sun.star.table.CellContentType enumeráció értékét, amely azonosítja a cella típusát. A következő értékek használhatók:

  • EMPTY - nincs érték.

  • VALUE - szám.

  • TEXT - karakterláncok.

  • FORMULA - képlet.

Cellák beszúrása, törlése, másolása és áthelyezése

A cellatartalom közvetlen módosítása mellett a StarOffice Calc biztosít egy felületet, amellyel beszúrhatunk, törölhetünk, másolhatunk vagy összevonhatunk cellákat. A (com.sun.star.sheet.XRangeMovement) felület a munkafüzet-objektumon keresztül érhető el, és négy metódust biztosít a cellatartalom módosításához.

Az insertCell metódussal cellák szúrhatók be a munkalapba.

Dim Doc As Object

Dim Sheet As Object

Dim CellRangeAddress As New com.sun.star.table.CellRangeAddress



Doc = StarDesktop.CurrentComponent

Sheet = Doc.Sheets(0)



CellRangeAddress.Sheet = 0

CellRangeAddress.StartColumn = 1

CellRangeAddress.StartRow = 1

CellRangeAddress.EndColumn = 2

CellRangeAddress.EndRow = 2



Sheet.insertCells(CellRangeAddress, com.sun.star.sheet.CellInsertMode.DOWN)

Ebben a példában a program beszúr egy két oszlop és két sor méretű cellatartományt az első munkalap (száma 0) második oszlopába és sorába (mindkettő száma 1). Az adott tartományban található értékek a tartomány alá kerülnek.

A com.sun.star.table.CellRangeAddress struktúrával definiálható a beszúrni kívánt cellatartomány. Ebben a struktúrában a következő értékek találhatók:

  • Sheet (rövid egész) - a munkalap száma (a számozás 0-val kezdődik).

  • StartColumn (hosszú egész) - a cellatartomány első oszlopa (a számozás 0-val kezdődik).

  • StartRow (hosszú egész) - a cellatartomány első sora (a számozás 0-val kezdődik).

  • EndColumn (hosszú egész) - a cellatartomány utolsó oszlopa (a számozás 0-val kezdődik).

  • EndRow (hosszú egész) - a cellatartomány utolsó sora (a számozás 0-val kezdődik).

A kitöltött CellRangeAddress struktúrát át kell adni az insertCells metódusnak. Az insertCells második paramétere tartalmaz egy értéket a com.sun.star.sheet.CellInsertMode enumerációból, és meghatározza mit kell tenni a beszúrási pozícióban lévő értékekkel. A CellInsertMode enumeráció a következő értékeket használja:

  • NONE - az aktuális értékek a helyükön maradnak.

  • DOWN - a beszúrási pozícióban és azalatt lévő értékek lefelé mozognak.

  • RIGHT - a beszúrási pozícióban és attól jobbra lévő értékek jobbra mozognak.

  • ROWS - a beszúrási pozíció utáni sorok lefelé mozognak.

  • COLUMNS - a beszúrási pozíció utáni oszlopok jobbra mozognak.

Előző Előző     Tartalom     Tárgymutató     Következő Következő