LibreOfficeは無料で使えるMicrosoft Office同等のソフトです。
Microsoftは、個人では高すぎる
CalcはExcelと同じ表計算ソフト、マクロとしてBasicがあります。
Excel VBAとLibreOffice Basicは別物です。
LibreOfficeには、VBAを動かすモードも完全ではありませんがあります。
LibreOffice basic の参考サイト:
LibreOffice Basicの別記事:
マクロ(Basic)を使う前にやること
マクロが使えるかどうかを調べます。
◎ 上の画像のように「ツール」>「マクロ」>「マクロの管理」>「LibreOffice Basic」とクリック(選択)してゆきます。
◎ 「新規作成」
◎ 何も変えないで「OK」をクリック
◎ 赤矢印のところに、次のコードを入れて下さい。
MsgBox ”Hello Japan” だけではエラー出ません。
「A1」に「100」と入れるだけのサンプルです。
Sub Main Dim oCell1 As Object oSheet = ThisComponent.Sheets(0) oCell1 = oSheet.getCellRangeByName( "A1" ) oCell1.Value = 100 End Sub
マクロが動かない原因は「2つ」
(1)マクロ勝手に動くと問題なので、セキュリティ上のエラー出ます。
マクロが裏で知らないうちに動くと、悪いことも平気でされてしまいます。自分でマクロの実行は管理しましょう。
● 「ツール」>「オプション」とクリックします。
● メニュー画面開いたら、「セキュリティ」>「マクロセキュリティ」とクリックします。
● セキュリティ設定を「高」から「中」に変えればOK
(2)Java環境 (JRE)がないと、複雑なマクロは動かない
JREが必要ですという警告が出てきたら、「Java Runtime Environment」をインストールする必要があります。
>>JREとは、Java言語で開発されたソフトウェアを実行するために必要なもの
JREをインストールします。
◎ 赤いボタンをクリックし、PCの好きなフォルダにダウンロードします。
◎ ダウンしたものをダブルクリックし、起動します。
◎ 「インストール」をクリックすると本体のダウンロードが始まります。ネット環境により時間が必要かも。
◎ 表示される指示を読んで、適当にクリックすれば終了します。
エラー:JREは正しくありません。
◎ 一度、LibreOfficeを閉じ、再起動します。
何で動かない。Google先生に尋ね、いろいろやってみました。どうも、 JREには種類があるようです。
私がインストールしたLibreOfficeは、64bit版
ダウン先: オフィス統合環境 – 窓の杜ライブラリ
64bit版のLibreOfficeに合う「JRE」は同じく64bitでないとだめ見たいです。
前に入れたものを削除し、64ビットを入れなおしました。
これでマクロ無事に動きました。 疲れた!
サンプルマクロ:MsgBox “~~”
Sub Main Msgbox("Libre Basic!") '//表示 Msgbox(date) '//日付を表示 Msgbox(time) '//現在ん時刻HH:MM:ss Msgbox(Rnd) '//乱数を表示 End Sub
サンプルマクロ:Print “~”
Sub Main Print "マクロ" End Sub
文字列または数値表式をダイアログまたはファイルに出力します。
VBAを少し変更し、LibreBasicで動かせるか?
MsgBoxを表示
参考サイト: ここのサンプルを使わせてもらいます。
(1)関数名を日本語から英語に変える(日本語でもいいみたい、ただ私には見づらい)
Sub メッセージボックスを表示する() —> Sub msg()
(2)先頭に、「Option VBASupport 1」を追加する。追加しないと動くけど「No」のボタンが表示されません。
検索ダイアログを表示する
参考サイト:
実行時エラー(runtime.error)でダメ
コメント