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 |
底(下)の境界線を表すcom.sun.star.table.BorderLineオブジェクト
セルの文字の色
Dim oCell As Object
oCell = ThisComponent.Sheets(0).getCellByPosition(0, 0)
oCell.CharColor = RGB(255, 0, 255)
左の境界線を表すcom.sun.star.table.BorderLineオブジェクト
数の書式
セルに数値を表示する際、いろいろな書式で表示することができます。たとえば、千単位で区切ったり、小数点以下の桁数を指定したり、先頭の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プロパティを設定すれば、まとめて複数のセルの書式を設定することができます。
セルの位置を表すcom.sun.star.awt.Pointオブジェクト
右の境界線を表すcom.sun.star.table.BorderLineオブジェクト
セルのサイズを表すcom.sun.star.awt.Sizeオブジェクト
天(上)の境界線を表すcom.sun.star.table.BorderLineオブジェクト
テーブル列オブジェクト(ScTableColumnObj)
Dim oCell As Object
Dim ElementName As String
oCell = ThisComponent.Sheets(0).getCellByPosition(0, 0)
ElementName = oCell.Columns.ElementNames(0)
セルの数式
Dim oCell As Object
oCell = ThisComponent.Sheets(0).getCellByPosition(0, 0)
oCell.Formula = "=Sum(A1:A20)"
セルの値
日付を代入したい場合は、Date型の値を指定する必要があります。Date型の値ではなく、日付を表す文字列(たとえば "2008/1/31")を代入値として使いたい場合は、Stringプロパティに代入します。
セルアドレスオブジェクト(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
セルの文字列
clearContentsは、セルの内容をクリアするメソッドです。clearContentsは、次のオブジェクトで使用することができます。
シート・オブジェクトの場合、シートのすべてのセルの内容をクリアします。Rangeオブジェクトの場合、対象となる複数のセルの内容をクリアします。
戻り値はありません。引数には、フラグを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)