ScCellObjはOpenOffice/LibreOfficeマクロBASICからCalcスプレッドシートのセルを操作するためのオブジェクトです。

プロパティの概要

ScCellObjのプロパティ一覧を次に示す。

プロパティ 概要
SbxSTRING AbsoluteName
SbxBOOL AsianVerticalMode
SbxOBJECT BottomBorder 底(下)の境界線
SbxLONG CellBackColor
SbxOBJECT CellProtection
SbxSTRING CellStyle
SbxLONG CharColor 文字の色
SbxBOOL CharContoured
SbxBOOL CharCrossedOut
SbxINTEGER CharEmphasis
SbxINTEGER CharFont
SbxINTEGER CharFontCharSet
SbxINTEGER CharFontCharSetAsian
SbxINTEGER CharFontCharSetComplex
SbxINTEGER CharFontFamily
SbxINTEGER CharFontFamilyAsian
SbxINTEGER CharFontFamilyComplex
SbxSTRING CharFontName
SbxSTRING CharFontNameAsian
SbxSTRING CharFontNameComplex
SbxINTEGER CharFontPitch
SbxINTEGER CharFontPitchAsian
SbxINTEGER CharFontPitchComplex
SbxSTRING CharFontStyleName
SbxSTRING CharFontStyleNameAsian
SbxSTRING CharFontStyleNameComplex
SbxSINGLE CharHeight
SbxSINGLE CharHeightAsian
SbxSINGLE CharHeightComplex
SbxOBJECT CharLocale
SbxOBJECT CharLocaleAsian
SbxOBJECT CharLocaleComplex
SbxLONG CharPosture
SbxLONG CharPostureAsian
SbxLONG CharPostureComplex
SbxINTEGER CharRelief
SbxBOOL CharShadowed
SbxINTEGER CharStrikeout
SbxINTEGER CharUnderline
SbxLONG CharUnderlineColor
SbxBOOL CharUnderlineHasColor
SbxSINGLE CharWeight
SbxSINGLE CharWeightAsian
SbxSINGLE CharWeightComplex
SbxBOOL CharWordMode
SbxBOOL ChartColumnAsLabel
SbxBOOL ChartRowAsLabel
SbxOBJECT ConditionalFormat
SbxOBJECT ConditionalFormatLocal
SbxOBJECT ConditionalFormatXML
SbxOBJECT DiagonalBLTR
SbxOBJECT DiagonalTLBR
SbxSTRING FormulaLocal
SbxLONG FormulaResultType
SbxLONG HoriJustify
SbxBOOL IsCellBackgroundTransparent
SbxBOOL IsTextWrapped
SbxOBJECT LeftBorder 左の境界線
SbxLONG NumberFormat 数の書式
SbxOBJECT NumberingRules
SbxLONG Orientation
SbxINTEGER ParaAdjust
SbxLONG ParaBottomMargin
SbxINTEGER ParaIndent
SbxBOOL ParaIsCharacterDistance
SbxBOOL ParaIsForbiddenRules
SbxBOOL ParaIsHangingPunctuation
SbxBOOL ParaIsHyphenation
SbxINTEGER ParaLastLineAdjust
SbxLONG ParaLeftMargin
SbxLONG ParaRightMargin
SbxLONG ParaTopMargin
SbxOBJECT Position セルの位置
SbxOBJECT RightBorder 右の境界線
SbxLONG RotateAngle
SbxLONG RotateReference
SbxOBJECT ShadowFormat
SbxBOOL ShrinkToFit
SbxOBJECT Size セルのサイズ
SbxOBJECT TableBorder
SbxOBJECT TopBorder 天(上)の境界線
SbxOBJECT UserDefinedAttributes
SbxOBJECT Validation
SbxOBJECT ValidationLocal
SbxOBJECT ValidationXML
SbxLONG VertJustify
SbxINTEGER WritingMode
SbxOBJECT PropertySetInfo
SbxSTRING PropertyToDefault
SbxDOUBLE NotANumber
SbxARRAY Data
SbxARRAY RowDescriptions
SbxARRAY ColumnDescriptions
SbxSTRING ImplementationName
SbxARRAY SupportedServiceNames
SbxARRAY Types
SbxARRAY ImplementationId
SbxOBJECT RangeAddress
SbxOBJECT Spreadsheet
SbxSTRING ArrayFormula
SbxARRAY DataArray
SbxARRAY FormulaArray
SbxBOOL IsMerged
SbxOBJECT Columns テーブル列オブジェクト
SbxOBJECT Rows
SbxOBJECT CellFormatRanges
SbxOBJECT UniqueCellFormatRanges
SbxSTRING Formula セルの数式
SbxDOUBLE Value セルの値
SbxLONG Type
SbxLONG Error
SbxOBJECT CellAddress セルアドレスオブジェクト
SbxOBJECT Text
SbxOBJECT Start
SbxOBJECT End
SbxSTRING String セルの文字列
SbxOBJECT ElementType
SbxOBJECT Annotation
SbxOBJECT TextFields
SbxOBJECT TextFieldMasters
SbxINTEGER ActionLocks
SbxSTRING Dbg_SupportedInterfaces サポートしているインタフェースの一覧
SbxSTRING Dbg_Properties 属性の一覧
SbxSTRING Dbg_Methods メソッドの一覧

メソッドの概要

ScCellObjのメソッド一覧を次に示す。

メソッド 概要
SbxEMPTY queryInterface ( SbxOBJECT )
SbxOBJECT getPropertySetInfo ( void )
SbxVOID setPropertyValue ( SbxSTRING, SbxVARIANT )
SbxEMPTY getPropertyValue ( SbxSTRING )
SbxVOID addPropertyChangeListener ( SbxSTRING, SbxOBJECT )
SbxVOID removePropertyChangeListener ( SbxSTRING, SbxOBJECT )
SbxVOID addVetoableChangeListener ( SbxSTRING, SbxOBJECT )
SbxVOID removeVetoableChangeListener ( SbxSTRING, SbxOBJECT )
SbxOBJECT getPropertySetInfo ( void )
SbxVOID setPropertyValues ( SbxARRAY, SbxARRAY )
SbxARRAY getPropertyValues ( SbxARRAY )
SbxVOID addPropertiesChangeListener ( SbxARRAY, SbxOBJECT )
SbxVOID removePropertiesChangeListener ( SbxOBJECT )
SbxVOID firePropertiesChangeEvent ( SbxARRAY, SbxOBJECT )
SbxLONG getPropertyState ( SbxSTRING )
SbxARRAY getPropertyStates ( SbxARRAY )
SbxVOID setPropertyToDefault ( SbxSTRING )
SbxEMPTY getPropertyDefault ( SbxSTRING )
SbxDOUBLE computeFunction ( SbxLONG )
SbxVOID clearContents ( SbxLONG ) セルの内容をクリアする
SbxVOID addChartDataChangeEventListener ( SbxOBJECT )
SbxVOID removeChartDataChangeEventListener ( SbxOBJECT )
SbxDOUBLE getNotANumber ( void )
SbxBOOL isNotANumber ( SbxDOUBLE )
SbxARRAY getData ( void )
SbxVOID setData ( SbxARRAY )
SbxARRAY getRowDescriptions ( void )
SbxVOID setRowDescriptions ( SbxARRAY )
SbxARRAY getColumnDescriptions ( void )
SbxVOID setColumnDescriptions ( SbxARRAY )
SbxVOID decrementIndent ( void )
SbxVOID incrementIndent ( void )
SbxOBJECT queryVisibleCells ( void )
SbxOBJECT queryEmptyCells ( void )
SbxOBJECT queryContentCells ( SbxINTEGER )
SbxOBJECT queryFormulaCells ( SbxLONG )
SbxOBJECT queryColumnDifferences ( SbxOBJECT )
SbxOBJECT queryRowDifferences ( SbxOBJECT )
SbxOBJECT queryIntersection ( SbxOBJECT )
SbxOBJECT queryDependents ( SbxBOOL )
SbxOBJECT queryPrecedents ( SbxBOOL )
SbxOBJECT createSearchDescriptor ( void )
SbxOBJECT findAll ( SbxOBJECT )
SbxOBJECT findFirst ( SbxOBJECT )
SbxOBJECT findNext ( SbxOBJECT, SbxOBJECT )
SbxOBJECT createReplaceDescriptor ( void )
SbxLONG replaceAll ( SbxOBJECT )
SbxVOID addModifyListener ( SbxOBJECT )
SbxVOID removeModifyListener ( SbxOBJECT )
SbxSTRING getImplementationName ( void )
SbxBOOL supportsService ( SbxSTRING )
SbxARRAY getSupportedServiceNames ( void )
SbxINT64 getSomething ( SbxARRAY )
SbxARRAY getTypes ( void )
SbxARRAY getImplementationId ( void )
SbxOBJECT getRangeAddress ( void )
SbxOBJECT getCellByPosition ( SbxLONG, SbxLONG )
SbxOBJECT getCellRangeByPosition ( SbxLONG, SbxLONG, SbxLONG, SbxLONG )
SbxOBJECT getCellRangeByName ( SbxSTRING )
SbxOBJECT getSpreadsheet ( void )
SbxSTRING getArrayFormula ( void )
SbxVOID setArrayFormula ( SbxSTRING )
SbxARRAY getDataArray ( void )
SbxVOID setDataArray ( SbxARRAY )
SbxARRAY getFormulaArray ( void )
SbxVOID setFormulaArray ( SbxARRAY )
SbxVOID setTableOperation ( SbxOBJECT, SbxLONG, SbxOBJECT, SbxOBJECT )
SbxVOID merge ( SbxBOOL )
SbxBOOL getIsMerged ( void )
SbxVOID fillSeries ( SbxLONG, SbxLONG, SbxLONG, SbxDOUBLE, SbxDOUBLE )
SbxVOID fillAuto ( SbxLONG, SbxLONG )
SbxVOID autoFormat ( SbxSTRING )
SbxARRAY createSortDescriptor ( void )
SbxVOID sort ( SbxARRAY )
SbxOBJECT createFilterDescriptor ( SbxBOOL )
SbxVOID filter ( SbxOBJECT )
SbxOBJECT createFilterDescriptorByObject ( SbxOBJECT )
SbxOBJECT createSubTotalDescriptor ( SbxBOOL )
SbxVOID applySubTotals ( SbxOBJECT, SbxBOOL )
SbxVOID removeSubTotals ( void )
SbxOBJECT getColumns ( void )
SbxOBJECT getRows ( void )
SbxARRAY createImportDescriptor ( SbxBOOL )
SbxVOID doImport ( SbxARRAY )
SbxOBJECT getCellFormatRanges ( void )
SbxOBJECT getUniqueCellFormatRanges ( void )
SbxSTRING getFormula ( void )
SbxVOID setFormula ( SbxSTRING )
SbxDOUBLE getValue ( void )
SbxVOID setValue ( SbxDOUBLE )
SbxLONG getType ( void )
SbxLONG getError ( void )
SbxOBJECT getCellAddress ( void )
SbxOBJECT getText ( void )
SbxOBJECT getStart ( void )
SbxOBJECT getEnd ( void )
SbxSTRING getString ( void )
SbxVOID setString ( SbxSTRING )
SbxOBJECT createTextCursor ( void )
SbxOBJECT createTextCursorByRange ( SbxOBJECT )
SbxVOID insertString ( SbxOBJECT, SbxSTRING, SbxBOOL )
SbxVOID insertControlCharacter ( SbxOBJECT, SbxINTEGER, SbxBOOL )
SbxVOID insertTextContent ( SbxOBJECT, SbxOBJECT, SbxBOOL )
SbxVOID removeTextContent ( SbxOBJECT )
SbxOBJECT getElementType ( void )
SbxBOOL hasElements ( void )
SbxOBJECT createEnumeration ( void )
SbxOBJECT getAnnotation ( void )
SbxOBJECT getTextFields ( void )
SbxOBJECT getTextFieldMasters ( void )
SbxBOOL isActionLocked ( void )
SbxVOID addActionLock ( void )
SbxVOID removeActionLock ( void )
SbxVOID setActionLocks ( SbxINTEGER )
SbxINTEGER resetActionLocks ( void )

プロパティの詳細

セル・オブジェクトのプロパティ
名前 種類 説明
AbsoluteName String
AsianVerticalMode Boolean
CellBackColor Long
CellProtection com.sun.star.util.CellProtection
CellStyle String
CharContoured Boolean
CharCrossedOut Boolean
CharEmphasis Integer
CharFont Integer
CharFontCharSet Integer
CharFontCharSetAsign Integer
CharFontCharSetComplex Integer
CharFontFamily Integer
CharFontFamilyAsian Integer
CharFontFamilyComplex Integer
CharFontName String
CharFontNameAsian String
CharFontNameComplex String
CharFontPitch Integer
CharFontPitchAsian Integer
CharFontPitchComplex Integer
CharFontStyleName String
CharFontStyleNameAsian String
CharFontStyleNameComplex String
CharHeight Single
CharHeightAsian Single
CharHeightComplex Single
CharLocale com.sun.star.lang.Locale
CharLocaleAsian com.sun.star.lang.Locale
CharLocaleComplex com.sun.star.lang.Locale
CharPosture Long
CharPostureAsian Long
CharPostureComplex Long
CharRelief Integer
CharShadowed Boolean
CharStrikeout Integer
CharUnderline Integer
CharUnderlineColor Long
CharWeight Single
CharWeightAsian Single
CharWeightComplex Single
CharWordMode Boolean
CharColumnAsLabel Boolean
CharRowAsLabel Boolean
ConditionalFormat ScTableConditionalformat
ConditionalFormatLocal ScTableConditionalformat
ConditionalFormatXML ScTableConditionalformat
DiagonalBLTR com.sun.star.table.BorderLine
DiagonalTLBR com.sun.star.table.BorderLine
FormulaLocal String
FormulaResultType Long
HoriJustify Long
IsCellBackgroundTransparent Boolean
IsTextWrapped Boolean
NumberingRules AvxUnoNumberingRules
Orientation Long
ParaAjust Integer
ParaBottomMargin Long
ParaIndent Integer
ParaIsCharacterDistance Boolean
ParaIsForbiddenRules Boolean
ParaIsHangingPunctuation Boolean
ParaIsHyphenation Boolean
ParaLastLineAdjust Integer
ParaLeftMargin Long
ParaRightMargin Long
ParaTopMargin Long
RorateAngle Long
RotateReference Long
ParaTopMargin Long
ShadowFormat com.sun.star.table.ShadowFormat
ShrinkToFit Boolean
TableBorder com.sun.star.table.TableBorder
UserDefinedAttributes SvUnoAttributeContainer
Validation ScTableValidationObject
ValidationLocal ScTableValidationObject
ValidationXML ScTableValidationObject
VertJustify Long
WritingMode Object
PropertyToDefault String
NotANumber Double
Data Object
RowDescriptions String

BottomBorder

底(下)の境界線を表すcom.sun.star.table.BorderLineオブジェクト

CharColor

Dim Formula As Long

セルの文字の色

使用例

Dim oCell As Object

oCell = ThisComponent.Sheets(0).getCellByPosition(0, 0)
oCell.CharColor = RGB(255, 0, 255)

LeftBorder

左の境界線を表すcom.sun.star.table.BorderLineオブジェクト

NumberFormat

Dim NumberFormat As Long

数の書式

セルに数値を表示する際、いろいろな書式で表示することができます。たとえば、千単位で区切ったり、小数点以下の桁数を指定したり、先頭の0を表示するか否かなどを指定することができます。数値の書式を指定するには、セル・オブジェクトやRangeオブジェクトのNumberFormatプロパティを設定します。

NumberFormatプロパティに設定するのは、Long型の数値です。この値と書式との関係を次に示します。

書式 書式コード
0 Standard Standard
1 -1234 0
2 -1234.12 0.00
3 -1,234 #,##0
4 -1,234.12 #,##0.00
5 -1,234.12 #,###.00
10 -13% 0%
11 -12.95% 0.00%
36 1999/12/31 YYYY/MM/DD
37 99/12/31 YY/MM/DD
101 -\1,234 [$¥-411]#,##0;-[$¥-411]#,##0
102 -\1,234.00 [$¥-411]#,##0.00;-[$¥-411]#,##0.00

セルの書式設定をする例を次に示します。この例では、数値を千単位で区切り、小数点以下の桁は表示しないように設定しています。

Dim oCell As Object

oCell = ThisComponent.Sheets(0).getCellByPosition(0, 0)
oCell.NumberFormat = 3
oCell.Value = 1234.12

セル・オブジェクトではなく、RangeオブジェクトのNumberFormatプロパティを設定すれば、まとめて複数のセルの書式を設定することができます。

Position

セルの位置を表すcom.sun.star.awt.Pointオブジェクト

RightBorder

右の境界線を表すcom.sun.star.table.BorderLineオブジェクト

Size

セルのサイズを表すcom.sun.star.awt.Sizeオブジェクト

TopBorder

天(上)の境界線を表すcom.sun.star.table.BorderLineオブジェクト

Columns

テーブル列オブジェクト(ScTableColumnObj)

Dim oCell As Object
Dim ElementName As String

oCell = ThisComponent.Sheets(0).getCellByPosition(0, 0)
ElementName  = oCell.Columns.ElementNames(0)

Formula

Dim Formula As String

セルの数式

使用例

Dim oCell As Object

oCell = ThisComponent.Sheets(0).getCellByPosition(0, 0)
oCell.Formula = "=Sum(A1:A20)"

Value

Dim Value As Double

セルの値

日付を代入したい場合は、Date型の値を指定する必要があります。Date型の値ではなく、日付を表す文字列(たとえば "2008/1/31")を代入値として使いたい場合は、Stringプロパティに代入します。

CellAddress

セルアドレスオブジェクト(com.sun.table.CellAddress)

Dim oCell As Object
Dim Sheet As Integer
Dim Column As Long
Dim Row As Long

oCell = ThisComponent.Sheets(0).getCellByPosition(0, 0)

Sheet  = oCell.CellAddress.Sheet
Column = oCell.CellAddress.Column
Row    = oCell.CellAddress.Row

String

Dim String As String

セルの文字列

メソッドの詳細

clearContents

clearContentsは、セルの内容をクリアするメソッドです。clearContentsは、次のオブジェクトで使用することができます。

シート・オブジェクトの場合、シートのすべてのセルの内容をクリアします。Rangeオブジェクトの場合、対象となる複数のセルの内容をクリアします。

SbxVOID clearContents(SbxLONG)

戻り値はありません。引数には、フラグをLong値で指定します。

フラグの一覧
フラグ 説明
1 VALUE 日付や時刻として書式設定されていない数値
2 DATETIME 日付や時刻として書式設定されている数値
4 STRING 文字列
8 ANNOTATION セルに付けられたコメント
16 FORMULA 計算式
32 HARDATTR セルに直接指定された書式
64 STYLES 間接的に指定された書式
128 OBJECT セルに配置された描画オブジェクト
256 EDITATTR セル内の一部のテキストに対してのみ指定された書式

一度に複数のフラグを指定することもできます。たとえば、セルの文字列とセルに直接指定された書式をクリアするには、4 + 32 で 36 を引数に指定します。

oSheet.clearContents(36)

セルのすべての内容をクリアするには、1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 で 511 を引数に指定します。

oCell.clearContents(511)

使用例

セルの内容をクリアするOpenOffice.org Basicマクロの例を次に示します。

Dim oCell As Object

oCell = ThisComponent.Sheets.getByName("表1").getCellByPosition(0, 0)
oCell.clearContents(36)