セル内容の削除 
セルの内容を削除する方法を取り扱います。セルの内容というのは,文字列,数値,日付と時間,数式,コメント,書式,オブジェクトなどです。これらを選択的に削除する方法です。セル自体は削除しません。
削除 
セル内容の削除には clearContents メソッドを使います。このメソッドでは,セルの内容が消去されて,セル自体は削除されません。また,このメソッドの引数の指定を変更することで,選択的に内容の型を選んで消去できます。
この clearContents メソッドは,.sheet.XSheetOperation インターフェースのメソッドです。なので,このメソッドを使うことができるのは,シートオブジェクト,セル範囲オブジェクト,セルオブジェクトなどになります。
clearContents メソッドの引数は com.sun.star.sheet.CellFlags の定数で指定します。この定数は,次の表のものを使います。
.sheet.CellFlags constants group |
VALUE | 1 | 数値 |
DATETIME | 2 | 日付と時間 |
STRING | 4 | 文字列 |
ANNOTATION | 8 | コメント |
FORMULA | 16 | 数式 |
HARDATTR | 32 | 書式 |
STYLES | 64 | スタイル |
OBJECTS | 128 | オブジェクト |
EDITATTR | 256 | セル内容の部分的な書式 |
複数の種類の内容を同時に削除するときには,削除したい値に相当する定数を足し合わせた値 (合計値) を指定します。たとえば,「数値」と「書式」を削除したければ,「1+32=33」となり,「33」を指定します。
Sub deletecontent
Dim oDoc As Object
Dim oCellRange As Object
oDoc = ThisComponent
oCellRange = oDoc.getSheets().getByIndex(0).getCellRangeByPosition(0,0,2,2)
oCellRange.clearContents( _
com.sun.star.sheet.CellFlags.VALUE + _
com.sun.star.sheet.CellFlags.FORMULA )
End Sub
引数は,数値としても指定できます。