インポートとエクスポート


オブジェクトモジュールのインポートとエクスポート

Excelの標準的な仕様では、新しいブックに3枚のワークシート(Sheet1~Sheet3)が用意されます。これら各ワークシートにもマクロを記述するモジュールがあります。また、ブックそのものを表すThisWorkbookというモジュールも存在します。こうしたオブジェクトモジュールは、セルを選択したとき自動的に実行されるマクロを作成したり、ブックを開いたとき自動実行されるマクロを作成したりします。

これらのオブジェクトモジュールをエクスポートするとクラスモジュールとして保存されます。

クラスモジュールはテキストファイルですので、メモ帳などで内容を確認できます。

エクスポートされたクラスモジュールの中(上図)を見るとわかりますが、記録されるのは、当然ですが、作成したプロシージャなどモジュールに関する情報だけです。Sheet1モジュールをエクスポートしたからといって、ワークシートに入力したデータなどは記録されません。

Sheet1をエクスポートして保存されたクラスモジュールをインポートすると、Sheet1のオブジェクトモジュールではなく、クラスモジュールとしてインポートされます。

これが、インポートとエクスポートの機能です。

標準モジュールとUserFormは、同じように標準モジュールやUserFormとしてインポートされます。よく使う汎用Functionなどを標準モジュールとして作成しておき、新しく作成するマクロにインポートして使うとか、共通して使用できるようなインターフェイスをUserFormとしてエクスポートしておき、ほかのマクロで再利用するとか、そういう場面で便利かもしれません。