Excelカスタム関数ツールチップの探求
この質問はされてい尋ねた 前に、しかし、それぞれの時間は受け入れ答えは単純に使用して関数の説明を提供するための辞任であるApplication.MacroOptions(VBA6)(VBA7を)、それは私の問題を解決していませんので、この情報は実際には、ツールチップとして表示されません。 目標 私たちすべてが望むのは、何らかの方法(VBA、VSTO、またはCOMアドイン)でカスタム関数を定義でき、ユーザーに関数とそのパラメーターのポップアップ/ツールチップの説明を提供できることです。すべての組み込みのExcel関数に対して、インラインまたは数式バーに表示されます。 このニーズに対する広く受け入れられている答えは、カスタム関数は不可能であるということですが、私はその信念に挑戦したいと思います。 問題 現在、私が誰もが見ている最高の方法は、関数を定義することです(多くの場合、上記のMacroOptions呼び出しを使用)。そのため、関数ダイアログ(数式バーのfxボタン)を呼び出すと、関数とパラメーターの説明が次のように表示されます。 ご覧のとおり、これは多くのパラメーターを持つ複雑な関数です。ユーザーがこの「関数の引数」ダイアログとそれを表示する方法に気づかず、代わりにExcelの標準のツールチップに精通している場合は、数式名のみが表示され、追加のヘルプは表示されません。 必要なパラメーターを正しく提供する機会がありません。(もちろん、ドキュメントを読んでいない限り、ユーザーはこれを行いません。) これで、パワーユーザーはCtrl+ Shift+ Aと入力することで、次のような関数パラメーターのオートコンプリートリストが付与されることを知っているかもしれません。 しかしもちろん、上記と同じ問題があります。つまり、標準のExcelユーザーは最初の画像のデフォルトの動作にしか慣れず、おそらくその機能を学んだことがないということです。 この時点で、これで十分ではなく、すべての組み込み関数に必要なもの、つまりユーザーに関数の使用方法を教えるインラインツールチップが必要であることは明らかです。 いじめる 最初は、ネイティブのExcelアプリケーション関数を除いて、これは単に不可能であると私は確信していたかもしれません。アドインとVBAは拡張機能であり、このツールチップは単に拡張できない場合があります。しかし、その理論は、Analysis Toolpakアドインの存在によって挑戦されます。確かに、これはMicrosoftに組み込まれていますが、ANALYS32.xllは、VB、C、C ++、およびC#で作成できるものと同様に、スタンドアロンのXLLアドインです。案の定、このXLLがアプリケーションにロードされたときに機能し、それを利用できるようにすることをネイティブExcel関数の同じツールチップを持っています。 この情報が何らかの形でこのXLLファイルにエンコードされてExcelに渡された場合、独自のアドインでそれを複製する方法はありますか?ここで、逆コンパイルについて少し学び始め、分析ツールパックで行われていることをリバースエンジニアリングできるかどうかを確認します。 あなたが助けることができる方法 この問題について公開されているすべての情報を調査したことはほぼ間違いありません。誰かがこれを助けるかもしれない私が知らない何かを知っているなら、遠慮なくご相談ください。私はリバースエンジニアリングされたコンパイル済みのdll / xllに非常に慣れていないので、誰かがAnalysis32.xllのローカルコピーをポップオープンしたいと感じた場合、カスタム関数の定義で何が起こっているのかを理解するために、私は多くの義務を負うことになります。それ以外の場合は、行き止まりをすべて突き止めて、見つけたものを報告するまで、自分でこれを掘り下げていきます。