この質問は以前に尋ね られましたが、受け入れられた回答は、( VBA6 ) ( VBA7 ) を使用して関数の説明を提供するための単純な辞任ですが、この情報は実際にはツールチップとして表示されないため、私の問題は解決しません。Application.MacroOptions
目標
私たち全員が望んでいるのは、任意の手段 (VBA、VSTO、または COM アドイン) でカスタム関数を定義し、関数とそのパラメーターのポップアップ/ツール ヒントの説明をユーザーに提供できるようにすることです。組み込みの Excel 関数ごとに、インラインまたは数式バーに表示されます。
この必要性に対する広く受け入れられている答えは、カスタム関数は不可能だというものですが、私はその考えに異議を唱えたいと考えています。
問題
現在、関数ダイアログ (数式バーの [fx] ボタン) を表示するときに、関数とパラメーターの説明が次のように表示されるように、関数を定義すること (多くの場合、上記の MacroOptions 呼び出しを使用) を行うことを私が見た中で最善の方法は次のとおりです。
ご覧のとおり、これは多くのパラメーターを持つ複雑な関数です。ユーザーがこの「関数の引数」ダイアログとそれを表示する方法を認識しておらず、代わりに Excel の標準ツールヒントしか知らない場合、数式名のみが表示され、追加のヘルプは表示されません。
必要なパラメーターを正しく提供する機会がありません。(ドキュメントを読まずに、もちろん、誰も読んでいません。)
ここで、パワー ユーザーは、Ctrl+ Shift+Aと入力すると、次のような関数パラメーターのオートコンプリート リストが付与されることを知っているかもしれません。
しかしもちろん、標準の Excel ユーザーは最初の画像のデフォルトの動作にしか慣れておらず、おそらくその機能を学習したことがないという、上記と同じ問題があります。
この時点で、なぜこれが十分ではないのかが明らかになっているはずであり、すべての組み込み関数に備わっているもの、つまり関数の使用方法をユーザーに伝えるインライン ツールチップが必要です。
ティーズ
最初は、ネイティブの Excel アプリケーション機能を使用しない限り、これは不可能であると確信していたかもしれません。アドインと VBA は拡張機能であり、このツール ヒントは単に拡張できない場合があります。しかし、その理論は、Analysis Toolpak アドインの存在によって疑問視されています。確かに Microsoft で構築されていますが、ANALYS32.xll は、VB、C、C++、および C# で生成できるものと同様に、スタンドアロンの XLL アドインです。案の定、この XLL がアプリケーションに読み込まれると、使用可能になる関数には、ネイティブの Excel 関数と同じツール ヒントが表示されます。
この情報が何らかの方法でこの XLL ファイルにエンコードされ、Excel に渡される場合、独自のアドインでそれを複製する方法はありますか? 私は今、逆コンパイルについて少し独学し始め、分析ツールパックで起こっていることをリバース エンジニアリングできるかどうかを調べようとしています。
どのように支援できるか
私は、この問題に関して公開されているすべての情報を調査したと確信しています。誰かがこれに役立つかもしれない私が知らないことを知っている場合は、気軽に声をかけてください.そのカスタム関数定義で何が起こっているのかを理解するために、私は非常に義務付けられています. それ以外の場合は、すべての行き止まりにぶつかり、見つけたものを報告するまで、自分でこれを掘り下げ続けます.