C# .NET でオートメーション アドインを作成し、そのための shim dll を用意しました。shim dll には、.NET アセンブリ内の適切なメソッドを呼び出すすべてのユーザー定義メソッドが含まれています。
私が直面している問題は、Excel 2007 に関連しています。
Excel 2003 では、 1. ワークシートに新しい図形を追加します。 2. 挿入 >> 関数 >> SUM。[関数の引数] ダイアログが表示されます 3. セルではなく、新しく挿入された図形をクリックします 注: 何も起こらず、引数ボックスにセルの値が自動的に入力されることはありません
Excel 2007 では、 1. 新しい図形を挿入します。 2. [数式] リボン タブ >> [関数の挿入] >> [SUM] を選択します。関数の引数ダイアログが表示されます 3. 新しく挿入された図形をクリックします 「入力した数式にエラーが含まれています」というエラー ダイアログが表示されることに注意してください。
このダイアログは、定義済み関数 (SUM) に対して表示されます。SUM の代わりにリストから関数を選択すると、エラー ダイアログは表示されず、[関数の引数] ダイアログは消えます。次に、セルにエラー スマートタグが表示されます。
関数ごとに SHIM dll に入れる必要があるものはありますか? このエラーダイアログを表示する属性または何かのように。または、引数がエラーを生成したことを伝えるためにメソッドによって返される特別な値かもしれません。
COM shim で定義されている関数は次のようになります。
STDMETHOD(GetArea)(MyExcelAddIn::Range *r, double *pRetVal)
{
return m_pMyUDF->GetArea(r, pRetVal);
}