Home > コンピュータ > LibreOffice > マクロ > Calc > セルに値を入力する

LibreOffce Calcでマクロを使って、セルの位置を指定して値を入力する

新規作成日 2019-06-15
最終更新日

LibreOfficeで動作する、それぞれStar BasicスタイルとVBAスタイルで作成された、Calcのセルに値を入力するマクロを紹介します。

セルの位置を指定するには、Star Basicスタイルでは、getCellByPositionを使用し、VBAスタイルでは、Cellsプロパティを使用します。

Star Basic Style

REM  *****  BASIC  *****
Option Explicit

Sub EnterAValueInCellA1
' セルA1に値を入力する

	Dim mySheet As Object
	
	mySheet =  ThisComponent.CurrentController.ActiveSheet
	mySheet.getCellByPosition(0,0).String = "Test_StarBasic"
End Sub

Option Explicitは、変数の宣言を矯正するコンパイラ・オプションです。

ThisComponent.CurrentController.ActiveSheetは、アクティブシート、現在使用しているシートを示しています。

getCellByPosition(0,0)は、セルの位置を示しています。

Star BasicのgetCellByPositionが、0始まりで、(x座標,y座標)と指定するのに対して、VBAのCellsでは、1始まりで、(y座標,x座標)と指定します。

mySheet.getCellByPosition(0,0)で、現在開いているシートの、右上のセルを示します。

Vba Style

REM  *****  BASIC  *****
Option Compatible
Option VBASupport 1
Option Explicit

Sub EnterAValueInCellA2

	Cells(2,1).Value = "Test_Vba_Style"

End Sub

Option Compatibleは、LIbreOffice Basicに、VBのふりをさせるコンパイラオプションです。

Option VBASupport 1は、LIbreOffice Basicに、VBAのふりをさせるコンパイラオプションです。

Option Explicitは、変数の宣言を矯正するコンパイラ・オプションです。

Cells(2,1)は、セルの位置を示しています。Star BasicのgetCellByPositionが、0始まりで、(x座標,y座標)と指定するのに対して、VBAのCellsでは、1始まりで、(y座標,x座標)と指定します。

実行結果

LibreOfficeで動作する、それぞれStar BasicスタイルとVBAスタイルで作成された、Calcのセルに値を入力するマクロ

参考サイト

このエントリーをはてなブックマークに追加