LibreOffice Calc : マクロでセル範囲を選択

セル範囲選択

MicrosoftのOffice高すぎます。無料で使えるLibreOfficeはありがたいです。癖がありますがマクロも使えます。VBAも動くようです。海外のサイトをGoogle翻訳で見てますが、やはり難解です。

ダウンロード先:

目指す形のセル

:_入門記事

マクロをエディタから動かすのと、Calc本体から動かすのでは多少結果が違います。

スポンサーリンク

VBAモード Option VBASupport 1

マクロのトップに「Option VBASupport 1」を入れるとVBAが動きます。

スクリプト入れる場所間違えると、Basic ランタイムエラー35

Basic ランタイムエラー

マイマクロには入れてはいけません。

Option VBASupport 1

Sub Main
Range("B2:D3").Select
End Sub

これだと下図のようになり、選択範囲の色が変わらない。なぜ

範囲に色がつかない

列番地・行番地は色がついているので範囲選択はされているようです。
Basicをどこから、実行するかで範囲選択背景色が付きます。

Excelは色変わる

これは同じコードでExcel、選択範囲色ついています。

スポンサーリンク

LibreOffice Basicのコード

ThisComponentは、最後にアクティブだったドキュメントを返します。

Sub Main
Dim oCTRL As Object
Dim oSheet As Object
Dim oRanges As Object

oCTRL = ThisComponent.CurrentController
oSheet = oCTRL.ActiveSheet
oRanges = oSheet.getCellRangeByName("B2:D3")
oCTRL.Select(oRanges)
End Sub

CurrentControllerのオブジェクトに「Select」はあるようです。

やはり選択されても、色つきません。

範囲に色がつかない

==================================
<<< ようやくわかりました >>>
==================================

マクロの実行をBasic editorから動かしてはだめです

Basic editorからの起動はだめ
赤矢印を押して起動はダメ。
 
calcからマクロ実行
そしたら、うまくゆきました。
 

コメント

タイトルとURLをコピーしました