![LibreOfficeマクロ動かない](http://take-web.main.jp/top/task_help/wp-content/uploads/2020/10/libreoffice_basic_notMove.png)
![](http://take-web.main.jp/top/task_help/wp-content/themes/cocoon-master/images/man.png)
LibreOfficeは無料で使えるMicrosoft Office同等のソフトです。
Microsoftは、個人では高すぎる
CalcはExcelと同じ表計算ソフト、マクロとしてBasicがあります。
Excel VBAとLibreOffice Basicは別物です。
LibreOfficeには、VBAを動かすモードも完全ではありませんがあります。
LibreOffice basic の参考サイト:
LibreOffice Basicの別記事:
マクロ(Basic)を使う前にやること
マクロが使えるかどうかを調べます。
◎ 上の画像のように「ツール」>「マクロ」>「マクロの管理」>「LibreOffice Basic」とクリック(選択)してゆきます。
![snap_160912_092124](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_092124.png)
◎ 「新規作成」
![snap_160912_103607](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_103607.png)
◎ 何も変えないで「OK」をクリック
![snap_160912_104529](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_104529.png)
◎ 赤矢印のところに、次のコードを入れて下さい。
MsgBox ”Hello Japan” だけではエラー出ません。
![マクロ サンプル](http://take-web.main.jp/top/brog/wp-content/uploads/2020-1-14_7-55_No-00.png)
「A1」に「100」と入れるだけのサンプルです。
Sub Main Dim oCell1 As Object oSheet = ThisComponent.Sheets(0) oCell1 = oSheet.getCellRangeByName( "A1" ) oCell1.Value = 100 End Sub
マクロが動かない原因は「2つ」
(1)マクロ勝手に動くと問題なので、セキュリティ上のエラー出ます。
マクロが裏で知らないうちに動くと、悪いことも平気でされてしまいます。自分でマクロの実行は管理しましょう。
![セキュリティ上のエラー](http://take-web.main.jp/top/brog/wp-content/uploads/2020-1-13_20-56_No-00-1.png)
● 「ツール」>「オプション」とクリックします。
![セキュリティ設定](http://take-web.main.jp/top/brog/wp-content/uploads/2020-1-14_8-4_No-00.png)
● メニュー画面開いたら、「セキュリティ」>「マクロセキュリティ」とクリックします。
![セキュリティ設定2](http://take-web.main.jp/top/brog/wp-content/uploads/2020-1-13_20-57_No-00.png)
● セキュリティ設定を「高」から「中」に変えればOK
![セキュリティ設定 高から中に](http://take-web.main.jp/top/brog/wp-content/uploads/2020-1-14_8-38_No-00.png)
(2)Java環境 (JRE)がないと、複雑なマクロは動かない
![snap_160912_105322](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_105322.png)
JREが必要ですという警告が出てきたら、「Java Runtime Environment」をインストールする必要があります。
>>JREとは、Java言語で開発されたソフトウェアを実行するために必要なもの
JREをインストールします。
![snap_160912_110416](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_110416.png)
◎ 赤いボタンをクリックし、PCの好きなフォルダにダウンロードします。
![snap_160912_111028](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_111028.png)
◎ ダウンしたものをダブルクリックし、起動します。
◎ 「インストール」をクリックすると本体のダウンロードが始まります。ネット環境により時間が必要かも。
![snap_160912_111820](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_111820.png)
◎ 表示される指示を読んで、適当にクリックすれば終了します。
![snap_160912_111928](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_111928.png)
エラー:JREは正しくありません。
◎ 一度、LibreOfficeを閉じ、再起動します。
![snap_160912_113300](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_113300.png)
何で動かない。Google先生に尋ね、いろいろやってみました。どうも、 JREには種類があるようです。
私がインストールしたLibreOfficeは、64bit版
![snap_160912_135319](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_135319.png)
ダウン先: オフィス統合環境 – 窓の杜ライブラリ
64bit版のLibreOfficeに合う「JRE」は同じく64bitでないとだめ見たいです。
前に入れたものを削除し、64ビットを入れなおしました。
![snap_160912_140040](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_140040.png)
これでマクロ無事に動きました。 疲れた!
![snap_160912_141711](http://take-web.main.jp/top/cad/wp-content/uploads/2016/09/Snap_160912_141711.png)
サンプルマクロ:MsgBox “~~”
Sub Main Msgbox("Libre Basic!") '//表示 Msgbox(date) '//日付を表示 Msgbox(time) '//現在ん時刻HH:MM:ss Msgbox(Rnd) '//乱数を表示 End Sub
![](http://take-web.main.jp/top/brog/wp-content/uploads/SnapCrab_2017-11-13_5-33-17.png)
![](http://take-web.main.jp/top/brog/wp-content/uploads/SnapCrab_2017-11-13_5-33-21.png)
![](http://take-web.main.jp/top/brog/wp-content/uploads/SnapCrab_2017-11-13_5-33-21.png)
![](http://take-web.main.jp/top/brog/wp-content/uploads/SnapCrab_2017-11-13_5-33-23.png)
サンプルマクロ:Print “~”
Sub Main Print "マクロ" End Sub
![](http://take-web.main.jp/top/brog/wp-content/uploads/SnapCrab_2017-11-13_5-26-43.png)
文字列または数値表式をダイアログまたはファイルに出力します。
VBAを少し変更し、LibreBasicで動かせるか?
MsgBoxを表示
参考サイト: ここのサンプルを使わせてもらいます。
(1)関数名を日本語から英語に変える(日本語でもいいみたい、ただ私には見づらい)
Sub メッセージボックスを表示する() —> Sub msg()
(2)先頭に、「Option VBASupport 1」を追加する。追加しないと動くけど「No」のボタンが表示されません。
![](http://take-web.main.jp/top/brog/wp-content/uploads/zz_2019-4-4_8-6-3_No-00.png)
検索ダイアログを表示する
参考サイト:
実行時エラー(runtime.error)でダメ
![](http://take-web.main.jp/top/brog/wp-content/uploads/zz_2019-4-4_8-9-10_No-00.png)
コメント