Top > OOoBasic > Calc > deletecontents

*セル内容の削除 [#g405b16d]
セルの内容を削除する方法を取り扱います。セルの内容というのは,文字列,数値,日付と時間,数式,コメント,書式,オブジェクトなどです。これらを選択的に削除する方法です。セル自体は削除しません。

#contents
**削除 [#ge91e9d6]
セル内容の削除には ''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」を指定します。
#code(ob){{
Sub deletecontent
Dim oDoc As Object
Dim oCellRange As Object

 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
}}
 End Sub

引数は,数値としても指定できます。



Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes