excelの場合,specialcellsメソッドで設定できますが、
Libreではどうするか?
保留ということで。
excelの場合,specialcellsメソッドで設定できますが、
Libreではどうするか?
保留ということで。
セルの背景色はcellBackColorで設定します。
RGB指定ですね。
条件はif文でOK!(省略します)
Sub ksCalcAutoFormat
Dim oDoc as Object
Dim objSheet as Object
Dim cellRange as Object
objSheet = ThisComponent.getSheets().getByIndex(0)
cellRange = objSheet.getCellRangeByPosition(0, 0, 5, 5)
cellRange.cellBackColor = RGB(255,0,0)
End Sub
NumberFormatには、インデックス番号を指定します。
インデックス番号の調べ方はここを参考に。
インデックス番号の一部はここにあります。
Sub ksCalcNumberFormat
Dim oDoc as Object
Dim objSheet as Object
Dim cellRange as Object
objSheet = ThisComponent.getSheets().getByIndex(0)
cellRange = objSheet.getCellRangeByPosition(0, 0, 5, 5)
cellRange.NumberFormat = 5103 < — これ!インデックス番号
End Sub
cellのIsTextWrappedをTrueに設定するだけです。
Sub ksTextWrap
Dim oDoc as Object
Dim objSheet as Object
Dim cellRange as Object
objSheet = ThisComponent.getSheets().getByIndex(0)
cellRange = objSheet.getCellByPosition(0, 0)
cellRange.IsTextWrapped = True
End Sub
autoFormatメソッドで設定可能のようですが、
さらに詳しく調べる必要がありそうです。
Sub ksCalcAutoFormat
Dim oDoc as Object
Dim objSheet as Object
Dim cellRange as Object
objSheet = ThisComponent.getSheets().getByIndex(0)
cellRange = objSheet.getCellRangeByPosition(0, 0, 5, 5)
cellRange.autoFormat(“3D”)
End Sub
選択範囲のフォント変更はCharFontName(西洋)とCharFontNameAsian(東洋)
の2種類があります。
これを使い分けないと、うまくフォント変更ができません。
日本語のフォントは東洋フォントを変更しないと反映されないということです。
Sub ksChangeFont
Dim objSheet as Object
Dim objCellRange as Object
objSheet=ThisComponent.sheets(0)
objCellRange=objSheet.getCellRangeByPosition(0,0,2,2)
objCellRange.CharFontName = “Arial Black”
objCellRange.CharFontNameAsian = “メイリオ”
end sub
これはパス。
選択範囲はgetCellRangeByPositionで取得しています。
そのあとは、clearContents(511)です。
Sub ksClearRanges
Dim objSheet as Object
Dim objCellRange as Object
objSheet=ThisComponent.sheets(0)
objCellRange=objSheet.getCellRangeByPosition(0,0,4,4)
objCellRange.clearContents(511)
end sub
071で示したように、
書式を削除するには、clearContents(32)を使用します。
セルのクリアはClearContentsを用いる。
sub ksCellClear
dim cell as object
cell = ThisComponent.CurrentSelection
cell.clearContents(511)
end sub
数字にはクリアしたい内容に応じて、下記の値を指定する。
1 : 数値をクリアする場合
2 : 日付や時刻をクリアする場合
4 : 文字列をクリアする場合
8 : セルのコメントをクリアする場合
16 : 関数 (数式) をクリアする場合
32 : セルに直接指定された書式をクリアする場合
64 : セルに間接的に指定された書式をクリアする場合
128 : セルに配置された描画オブジェクトをクリアする場合
256 : セル内の一部のテキストに対してのみ指定された書式をクリア
する場合
全てクリアするには1+2+ … +256 = 511を入れれば良い。