[Office Master] | ||||||||||||
Excelでユーザー定義関数をアドインとして提供する
|
||||||||||||
|
解説 |
Windows TIPS「ユーザー定義関数をエクスポート/インポートする」で紹介したように、モジュールファイル(「.bas」ファイル)をエクスポート/インポートすることで、必要なユーザー定義関数を必要なブックでのみ有効にすることができる。だがWindows TIPS「Excelでユーザー定義のワークシート関数を追加する」のように、すべてのブックでユーザー定義関数を有効にしたくないとはいえ、このように個々のブックでモジュールをインポートしなければならないのは面倒である。
そこで本TIPSでは、標準モジュールをアドイン・ファイル(「.xla」ファイル)として保存する方法を紹介する。アドインとは、Excelの機能を拡張するための一種のプラグインである。Excelには、あらかじめ「自動保存」や「ソルバー」「分析ツール」などのアドインが用意されているが、用意されているアドインを利用するだけでなく、自分でアドインを開発することもできる。
アドインはあらかじめアドイン用フォルダ(デフォルトでは「C:\Documents and Settings\<ユーザ名>\Application Data\Microsoft\AddIns」)に保存しておくことで、同一PC上からであれば、簡単に組み込み/取り外しを行うことができる。
それではさっそく、一連の手順を見てみることにしよう。なおアドイン化の対象となるサンプル・コードは、Windows TIPS「Excelでユーザー定義のワークシート関数を追加する」で紹介したSubStringAfter関数をそのまま利用するので、詳細はそちらを参照していただきたい。
操作方法 |
手順1―標準モジュールをアドイン化する
SubStringAfter関数を定義した標準モジュールを含むブック(テンプレート)を呼び出し、メニューから[ファイル]−[名前を付けて保存]を選択する。[ファイル名を付けて保存]ダイアログが表示されるので、[ファイルの種類]として[Microsoft Excel アドイン(*.xla)]を選択し、[ファイル名]を「myAddin.xla」として保存する。アドイン・ファイルは任意のフォルダに保存することができるが、あらかじめ決められた[AddIns]フォルダに保存することで、自動的にアドインとして登録される。特別な理由がない限り、[AddIns]フォルダに保存しておくのが望ましい。
関数の保存 | |||
関数をアドイン・フォルダに保存する。 | |||
|
手順2―アドインを有効化する
アドインを有効化する方法は簡単だ。メニューから[ツール]−[アドイン]を選択すると、[アドイン]ダイアログが表示される。手順1で「.xla」ファイルをAddInsフォルダに保存した場合には、保存したアドインがデフォルトで[アドイン]欄にリスト表示されるので、「MyAddin」のチェックをオンにするだけでよい。だがリストに表示されない場合は、[参照]ボタンをクリックして、手動でアドインをリストに追加する。
[アドイン]ダイアログ | |||
アドインを有効化するには、各アドインのチェック・ボックスをオンにする。 | |||
|
アドインが不要になった場合は、アドイン・リストのチェックをオフにするだけでよい。
以上でアドインの組み込みは完了だ。先のTIPSの手順に従って、ユーザー定義関数の挙動を確認しておこう。
アドインのパスワード保護
ところで標準モジュールをアドイン化した場合、「.xla」ファイルを不特定多数の第三者に配布するようなケースもあるだろう。配布されたコードをユーザーが不用意に改変すると、ユーザー定義関数が正しく動作しなくなる恐れがある。またアドイン・ファイルを有償で提供するようなケースなどでは、そもそもユーザーに生のコードを見せたくないということもあるだろう。そのような場合には、あらかじめアドインに参照パスワードを設定しておくとよい。
参照パスワードを設定したい場合には、Visual Basic Editorから行うことができる。手順1で作成したアドイン・ファイル(「.xla」ファイル)を開き、プロジェクト・エクスプローラ上のツリーから[VBAProject(ファイル名)]を右クリックする。表示されたコンテキスト・メニューから[VBAProjectのプロパティ]を選択すると、[VBAProject - プロジェクト プロパティ]ダイアログが開くので、[保護]タブを選択する。
[VBAProject - プロジェクトプロパティ]ダイアログ | ||||||
プロジェクトにパスワードを設定すると、内容を保護することができる。 | ||||||
|
[プロジェクトを表示用にロックする]のチェック・ボックスをオンにし、参照用のパスワードを設定するだけだ。アドインを上書き保存し、再度、任意のブックからVisual Basic Editorを開いてみよう。[VBAProject(myAddin.xla)]ダイアログを選択すると、次のようなダイアログが表示されるはずだ。ここで、正しいパスワードを入力しない限り、プロジェクト内のプロパティやコードを参照/変更することはできない。
[VBAProject パスワード]ダイアログ |
プロジェクトのコードを参照しようとすると、このようなダイアログが表示され、パスワードを入力しないと開くことができない。 |
- サンプル・ファイルmyAddin.xlaのダウンロード
(注:今回のサンプル・ファイルをダウンロードするには、上のリンクを右クリックして、myAddin.xlaというファイル名で保存すること)
関連記事 | ||
Windows TIPS:ユーザー定義関数をエクスポート/インポートする(Windows Server Insider) | ||
Windows TIPS:Excelでユーザー定義のワークシート関数を追加する(Windows Server Insider) | ||
この記事と関連性の高い別の記事
- Excelでユーザー定義関数をエクスポート/インポートする(TIPS)
- Excelでユーザー定義のワークシート関数を追加する(TIPS)
- ユーザー定義関数で任意のセル範囲の値を取得する(TIPS)
- Excelのユーザー定義関数で既存のワークシート関数を利用する(TIPS)
- Excelのユーザー定義関数で複数の結果値を返す(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|