LibreOffice Basicが動かないとき

LibreOfficeマクロ動かない

LibreOfficeは無料で使えるMicrosoft Office同等のソフトです。

Microsoftは、個人では高すぎる
CalcはExcelと同じ表計算ソフト、マクロとしてBasicがあります。

 Excel VBAとLibreOffice Basicは別物です。
LibreOfficeには、VBAを動かすモードも完全ではありませんがあります。

LibreOffice basic の参考サイト:

LibreOffice Basicの別記事:

マクロ(Basic)を使う前にやること

マクロが使えるかどうかを調べます。

◎ 上の画像のように「ツール」>「マクロ」>「マクロの管理」>「LibreOffice Basic」とクリック(選択)してゆきます。

snap_160912_092124

◎ 「新規作成」

snap_160912_103607

◎ 何も変えないで「OK」をクリック

snap_160912_104529

◎ 赤矢印のところに、次のコードを入れて下さい。

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)マクロ勝手に動くと問題なので、セキュリティ上のエラー出ます。

マクロが裏で知らないうちに動くと、悪いことも平気でされてしまいます。自分でマクロの実行は管理しましょう。

セキュリティ上のエラー

● 「ツール」>「オプション」とクリックします。

セキュリティ設定

● メニュー画面開いたら、「セキュリティ」>「マクロセキュリティ」とクリックします。

セキュリティ設定2

● セキュリティ設定を「高」から「中」に変えればOK

セキュリティ設定 高から中に

(2)Java環境 (JRE)がないと、複雑なマクロは動かない

snap_160912_105322

JREが必要ですという警告が出てきたら、「Java Runtime Environment」をインストールする必要があります。

>>JREとは、Java言語で開発されたソフトウェアを実行するために必要なもの

JREをインストールします。

snap_160912_110416

◎ 赤いボタンをクリックし、PCの好きなフォルダにダウンロードします。

snap_160912_111028

◎ ダウンしたものをダブルクリックし、起動します。

◎ 「インストール」をクリックすると本体のダウンロードが始まります。ネット環境により時間が必要かも。

snap_160912_111820

◎ 表示される指示を読んで、適当にクリックすれば終了します。

snap_160912_111928

エラー:JREは正しくありません。

◎ 一度、LibreOfficeを閉じ、再起動します。

snap_160912_113300

何で動かない。Google先生に尋ね、いろいろやってみました。どうも、 JREには種類があるようです。

私がインストールしたLibreOfficeは、64bit版

snap_160912_135319

ダウン先: オフィス統合環境 – 窓の杜ライブラリ

64bit版のLibreOfficeに合う「JRE」は同じく64bitでないとだめ見たいです。
前に入れたものを削除し、64ビットを入れなおしました。

snap_160912_140040

これでマクロ無事に動きました。 疲れた!

snap_160912_141711

サンプルマクロ:MsgBox “~~”

Sub Main
	Msgbox("Libre Basic!")  '//表示
	Msgbox(date)             '//日付を表示
	Msgbox(time)             '//現在ん時刻HH:MM:ss
	
	Msgbox(Rnd)              '//乱数を表示
End Sub

アナと雪の女王を観るなら<U-NEXT>

サンプルマクロ:Print “~”

Sub Main
	Print "マクロ"
End Sub

文字列または数値表式をダイアログまたはファイルに出力します。

VBAを少し変更し、LibreBasicで動かせるか?

MsgBoxを表示

参考サイト: ここのサンプルを使わせてもらいます。

  ダイアログ編-エクセルのVBA集

(1)関数名を日本語から英語に変える(日本語でもいいみたい、ただ私には見づらい)

Sub メッセージボックスを表示する() —> Sub msg()

(2)先頭に、「Option VBASupport 1」を追加する。追加しないと動くけど「No」のボタンが表示されません。

検索ダイアログを表示する

参考サイト:

  ダイアログ編-エクセルのVBA集

実行時エラー(runtime.error)でダメ

コメント

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