*セル内容の削除 [#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 引数は,数値としても指定できます。 |