Windows TIPS
[Office Master]
Excelでユーザー定義関数をエクスポート/インポートする
■
Excelで標準モジュールを含むブックをテンプレート化すれば、自前のワークシート関数(ユーザー定義関数)をすべてのブックで共有することができる。
■
しかしユーザー定義関数の数が多くなってくると、必ずしもすべてのブックですべてのユーザー定義関数を有効にしたくないケースが出てくる。
■
標準モジュールのエクスポート/インポート機能を利用することで、ユーザー定義関数をブック単位で有効にすることができる。
Windows TIPS「Excelでユーザー定義のワークシート関数を追加する 」では、標準モジュールを利用することで自前のワークシート関数を追加する方法について紹介した。標準モジュールを含むブックは、テンプレート(「.xlt」ファイル)として登録することで、複数のブック間で共有することができる。しかしユーザー定義関数の数が多くなってきた場合、必ずしもすべてのユーザー定義関数を有効にしたくないというケースも出てくるだろう。必要な関数だけを有効化しておいた方が、関数を選択する場合にも分かりやすく便利だ。
そこで本稿では、作成した標準モジュール(ユーザー定義関数)をモジュール・ファイル(「.bas」ファイル)としてエクスポートし、必要に応じて、個々のブックにインポートする方法について紹介する。再利用が可能な単位であらかじめモジュール・ファイル(関数群)を作成しておけば、必要なブックで必要なユーザー定義関数のみを有効化することができる。
それではさっそく、一連の手順を見てみることにしよう。なお、エクスポート/インポートの対象となるサンプル・コードは、先のWindows TIPSで紹介したSubStringAfter関数をそのまま利用するので、詳しくはそちらのTIPSを参照していただきたい。
手順1―標準モジュールをエクスポートする
SubStringAfter関数を定義した標準モジュールを含むブック(テンプレート)を呼び出し、メニュー・バーの[ツール]−[マクロ]−[Visual Basic Editor]を選択する。[MVisual Basic Editor]ウィンドウが開くので、プロジェクト・エクスプローラ内のツリーから[標準モジュール]−[winTips]を右クリックする(「winTips」は先のWindows TIPSで指定したモジュール名)。表示されたコンテキスト・メニューから[ファイルのエクスポート]を選択する。
標準モジュールのエクスポート
プロジェクト・エクスプローラから行うことができる。もしもプロジェクト・エクスプローラが表示されていない場合には、メニュー・バーの[表示]−[プロジェクト エクスプローラ]を選択する。
これを選択してエクスポートする。
[ファイルのエクスポート]ダイアログが開くので、標準モジュール(「.bas」ファイル)を保存したい任意のフォルダを選択し、[保存]ボタンをクリックする。
手順2―「.bas」ファイルを任意のブックにインポートする
次に、エクスポートした「.bas」ファイルを、利用したいブックにインポートしよう。まずは手順1と同様に、利用側のブックから「Visual Basic Editor」を開く。プロジェクト・エクスプローラ上のツリーから[VBAProject(ファイル名)]を右クリックし、表示されたコンテキスト・メニューから[ファイルのインポート]を選択してほしい。
標準モジュールのインポート
プロジェクト・エクスプローラでプロジェクト名を右クリックし、[ファイルのインポート]を選択する。
これを選択して、エクスポートしたファイルをインポートする。
[ファイルのインポート]ダイアログが開くので、手順1で作成した「.bas」ファイルを選択し、[開く]ボタンをクリックする。これで、プロジェクト・エクスプローラのツリーにもインポートしたモジュールが追加されたはずだ。
なお、もしも同じ名前のモジュールをインポートしようとした場合にも、自動的に連番が付加されて、エラーにはならないので注意すること。
以上で、インポート作業は完了だ。先のWindows TIPSの手順3に従って、ユーザー定義関数の挙動を確認しておこう。
サンプル・ファイルmyAddin.xla とwinTips.bas のダウンロード
(注 :今回のサンプル・ファイルをダウンロードするには、上のリンクを右クリックして、それぞれmyAddin.xlaとwinTips.basというファイル名で保存すること)
この記事と関連性の高い別のWindows TIPS
generated by
TechTargetジャパン
Windows Server Insider フォーラム 新着記事
キャリアアップ
**先週の人気講座ランキング**
〜 Android編 〜