【发布时间】:2015-05-01 15:03:57
【问题描述】:
我编写了一个 C# COM(自动化)插件,我正在使用 Excel 2010 x64 进行测试,在 Windows 7 上运行。它定义了许多用户定义的公式。让我们以一个有两个字符串作为参数的 UDF 为例,首先使用文字调用,然后使用单元格引用:
=MyFunction("A","B")
=MyFunction(A1,B1)
如果区域设置 = 英语,那么这两个都可以。
如果我将区域设置设置为法语并重新打开工作簿,Excel 已将公式更改为:
=MyFunction("A";"B")
=MyFunction(A1;B1)
第一个(带有文字)仍然有效。第二个现在 不 工作 = 它只返回 #VALUE! 并且我的托管 UDF 代码甚至没有被调用(使用 Visual Studio 2010 进行调试)。
这是为什么?
【问题讨论】:
-
区域系统设置暂且不说,区域机器上是
xlA1还是xlR1C1公式参考样式? -
它是
xlA1参考风格。 -
但是如果我切换到 R1C1 样式,它的行为是一样的。
标签: c# excel localization excel-addins udf