Windows 7 で実行されている Excel 2010 x64 でテストしている C# COM (オートメーション) アドインを作成しました。これは、多数のユーザー定義式を定義します。最初にリテラルで呼び出され、次にセル参照で呼び出される、引数として 2 つの文字列を持つ UDF の例を見てみましょう。
=MyFunction("A","B")
=MyFunction(A1,B1)
地域設定 = 英語の場合、これらは両方とも機能します。
地域設定をフランス語に設定してブックを再度開くと、Excel の数式が次のように変更されています。
=MyFunction("A";"B")
=MyFunction(A1;B1)
最初のもの (リテラル付き) は引き続き機能します。2 つ目は機能しません= 返されるだけ#VALUE!
で、マネージ UDF コードは呼び出されません (Visual Studio 2010 でのデバッグ)。
どうしてこれなの?