Excel VBA(Visual Basic for Application)の勉強したかったのですが、パソコンにExcelが入ってないので諦めてましたが、
⇧ 上記サイト様によると、LibreOfficeでもVBAが動くみたいですね。
⇧ VBAのことについては、上記サイト様がとても詳しいです。
※ ページの一番最後に追記しましたが、LibreOfficeでマクロを作成する場合は、ファイルの拡張子を「.ods」で保存しないと、ファイルを開き直した時にマクロが消えてしまうので注意です。
記事の中で、 「.xlsx」となっている個所は、「.ods」に置き換えてください。
LibreOffice Calcの起動
何はともあれ、LibreOfficeを起動。
「ツール(T)」>「マクロ(M)」>「マクロの管理(O)」>「LibreOffice Basic...」を選択。まずは、「ファイル(F)」>「名前を付けて保存(A)...」を選択。
適当な名前で保存。
「ツール(T)」>「マクロ(M)」>「マクロの管理(O)」>「LibreOffice Basic...」を選択。
「〇〇.xlsx」の中の「Standard」を選択した状態で、「新規作成」を選択。
「OK」。
いきなりエラー。「OK」。
「Start」。
「完了(F)」。
今度は作成できました。
以下をエディターに入力し、
REM ***** BASIC ***** Sub Main Range("A1") = "Merry Christmas Mr.Lawrence" End Sub
エディター上で「Ctrl + S」で保存します。「Microsoft Excel 2007 - 2013 XML 形式を使用(U)」を選択。
エディター上で「F5」キーで実行すると、エラー!
「Option VBASupport 1」でVBAモード?
Option VBASupport 1 という記述をマクロエディターの先頭に追加することで、VBAが機能するようになるようです。
Option VBASupport 1 REM ***** BASIC ***** Sub Main Range("A1") = "Merry Christmas Mr.Lawrence" End Sub
エディター上で「F5」キーを入力。「vbaTest.xlsx」ファイルのほうを確認すると、
A1 セルに文字が入力されました。
『Merry Christmas Mr.Lawrence』ということで、今回はこのへんで。
2018年2月24日(土) 追記:
Libre OfficeのCalcでは、ファイルの拡張子に注意が必要のようです。
「.xlsx」でファイルを保存すると、モジュールが保存されないようです。正しくは、「.ods」でファイル保存だそうです。
VBAをLibreOfficeで動かす方法freesol.wordpress.com
ファイルを開いてる場合は、「ファイル(F)」>「名前を付けて保存(A)...」を選択。
「ファイルの種類(T)」 で、「ODF 表計算ドキュメント(.ods)(*.ods)」を選択。
「保存(S)」をクリック。
拡張子「.ods」で保存できました。
マクロを含んだ、拡張子が「.ods」のファイルを開こうとすると、警告が出ますが「OK」を選択。
警告の指示通り、「ツール(T)」>「オプション(O)...」を選択。
「セキュリティ」の「マクロセキュリティ(Y)...」を選択。
「セキュリティレベル」タブで「高(I)」となっているものを、
「中(M)」にしてみました。「OK」。
で、また、マクロを含んだ、拡張子が「.ods」のファイルを開き直したら、日本語になって、選択肢が増えました。マクロを使う場合は、警告が出るのは仕方がないっぽいですかね。?「マクロの有効化(E)」を選択。
モジュールが消えていないか確認。
「ツール(T)」>「マクロ(M)」の中の、
「マクロの管理(O)」>「LibreOffice Basic...」を選択。
モジュールが保存されています。
とりあえず、Libre Officeでマクロを記述する場合は、ファイル保存で拡張子「.ods」にしておくのが良さ気ですかね?