OpenOffice.orgの表計算ソフトCalcでは、Excelの表計算シートを開くことができます。この時、Calcの設定を変更することでExcelのマクロであるVBAマクロについても、Calc上で使えるようになるようです。
もともと同じBASIC系のマクロ、また機能的にも良く似た表計算ソフトということで、比較的移植はしやすかったのですが、直接読み込んで実行できるようになれば、CalcとExcelを状況に合わせて使い分けやすくなりますね。

OpenOffice.orgのCalcでVBAを使うための設定は、ツールメニューから「オプション」設定画面を立ち上げて行います。オプションの「読み込みと保存」にある「VBA属性」をクリックしてください。ここに、VBA読み込みに関するいくつかのオプションがありますので、すべて選択状態にします(初期状態では、「実行可能コード」のチェックがはずされていて、実行できない)。

この状態でVBAマクロを含むExcelの表計算シートを読み込むと、警告ダイアログが出てきて、マクロを有効にするよう指定すれば、CalcのBASICマクロ同様にVBAマクロが実行できるようになるはずです。

少し試してみた感じでは、基本的なセルの操作(内容の設定や背景色の設定など)、それにファイル入出力などはうまく動くようですね。ただ、GUI部品を配置してイベントハンドラにVBAマクロ関数を割り当てたExcelシートでは、なぜかイベントに反応しないようです……。ただ、デザインモードにして手動でイベントハンドラを設定すれば動くので、大きな問題ではないでしょう。

VBAマクロの資産は、Microsoft OfficeからOpenOffice.orgへの移行において最大の障害になることも多いようですが、CalcとExcelについては、今後さらなる互換性の向上が図られスムーズに移行できるようになるかもしれません。


創作プログラミングの街 > OpenOffice.orgマクロ開発メモ