新規作成日 2019-06-16
最終更新日
LibreOffice Calcマクロで、選択や選択範囲を操作し、値を入力したり、背景色を変更したりします。
Star Basic スタイル
説明 | |
---|---|
getCellByPosition | セルの座標で指定する |
getCellRangeByName | A1形式で指定する |
Star BasicのgetCellByPositionが、0始まりで、(x座標,y座標)と指定するのに対して、VBAのCellsでは、1始まりで、(y座標,x座標)と指定します。
REM ***** BASIC *****
Option Explicit
Sub EnterValueInSelectedCell
' 選択したセルに値を入力する
Dim actSheet As Object
Dim cellPosition As Object
Dim cellRange As Object
'コントローラを取得する
Dim oCtrl As Object
oCtrl = ThisComponent.CurrentController
' アクティブシートを取得する
actSheet = ThisComponent.CurrentController.ActiveSheet
' 選択されたセルの位置をcellPositionに、代入する getCellByPosition
cellPosition = actSheet.getCellByPosition(2,3)
' セルの位置を指定して選択する
oCtrl.Select(cellPosition)
' 選択されたセルに値を入力する
ThisComponent.CurrentSelection.String = "選択セル(2,3)"
' 選択されたセルの位置をcellPositionに、代入する getCellRangeByName
cellPosition = actSheet.getCellRangeByName("D4")
' セルの位置を指定して選択する
oCtrl.Select(cellPosition)
' 選択されたセルに値を入力する
ThisComponent.CurrentSelection.String = "選択セル(""D4"")"
' セルの範囲を指定する
cellRange = actSheet.getCellRangeByName("C6:E8")
' セルの位置を指定して選択する
oCtrl.Select(cellRange)
' 選択範囲の背景色を変更する
oCtrl.Selection.CellBackColor=RGB(0, 0, 255)
End Sub