質問: excelのmacrooptionsメソッド エクセルのfunctionプロシジャーにてユーザー定義関数を作成したのですが その説明を[マクロ オプション] ダイアログ ボックスにいれようとmacrooptionsメソッドにて 説明をいれました。 このメソッドの実行イベントはworkbooks_openイベントでいれればいいとのことですけど ユーザー定義関数をいつでも使用したいので、エクセルブック本体にマクロとして組み込む のではなくアドインマクロとして、作成した標準モジュールのあるエクセルをアドインとして xlamで保存し、アドインを参照することにより使用したいと考えています。 その際、このユーザー関数の説明をいれるためにmacrooptionsメソッドをいれたいのですが xlamのthis_workbookモジュールのworkbooks_openイベントにいれましたが、実行されず [マクロ オプション] ダイアログ ボックスに表示されません。 どのモジュールのどのイベントにいれるのでしょうか? できることならxlam内のモジュールにいれたいのですが・・・・
回答: xlamファイルのthisworkbookに,workbook_openではなくaddininstallで記載しておきます。 記載例: private sub workbook_addininstall() application.macrooptions macro:="関数名", description:="説明", category:=14 end sub ところで >その説明を[マクロ オプション] ダイアログ ボックスにいれようと >macrooptionsメソッドにて説明をいれました。 関数(ユーザー定義関数)は,マクロダイアログにはそもそも現れません。従ってご質問で書かれていることが間違いでなければ,「マクロオプション」のダイアログを呼び出すことも,そもそも出来ません。 ユーザー定義関数についてのmacrooptionsの使い道は,fxボタン(関数ウィザード)にユーザー定義関数を登録するためのものです。