2009-03-04 17 views
1

C#.NETにオートメーションアドインを作成し、シムdllを作成しました。 shim dllには、.NETアセンブリの適切な メソッドを呼び出すすべてのユーザー定義メソッドがあります。私が直面していますオートメーションアドインのユーザー定義関数Excel 2007と異なる動作

問題が 1.ワークシート 2. >>機能>> SUMに新しい形状を追加し、Excel 2003ではエクセル2007

に関連しています。関数の引数]ダイアログボックスではなく、細胞 注新たに挿入された形状に 3.クリックまで来る:何も起こらないと何のセルの値が 引数ボックスExcel 2007で今

、 1.に自動的に入力されていません新しい図形 2.数式リボンタブ>>挿入関数>> SUM。 ダイアログ関数の引数は

このダイアログは、事前に定義された機能のために来る「あなたは を入力した数式にエラーが含まれている」と言って、今のエラーダイアログが表示され、新たに挿入された形状 注(SUMにアップ 3.来ます)。 関数をSUMのリスト内のリストから選択すると、エラーダイアログは表示されず、 関数引数ダイアログが消えます。セルにエラー smarttagが表示されます。

各機能のSHIM dllに入れる必要があるものはありますか? このエラーダイアログを表示する属性などです。またはおそらく 引数によって がエラーを生成したことを通知するメソッドによって返される特別な値です。

COMシムで定義された機能は似ています:

STDMETHOD(GetArea)(MyExcelAddIn::Range *r, double *pRetVal) 
{ 
    return m_pMyUDF->GetArea(r, pRetVal); 
} 
+0

私はあなたの関数がRangeのような特定の型に対して引数としてオブジェクトを取ると推測しています。それは事実ですか? – shahkalpesh

+0

これはメソッドが宣言される方法です。このメソッドは、選択されたセルが有効かどうかに基づいて "TRUE"または "FALSE"を返します。 STDMETHOD(MyAddIn :: Range * r、BSTR * pRetVal) { return m_pMyExcelUDF-> IsValid(r、pRetVal); } UDFメソッドの属性はありますか – A9S6

答えて

0

私はマイクロソフトに連絡し、彼らは、これはExcelの製品のバグであることを確認しました。私はバグのリンクを投稿します。

関連する問題