我在C#.NET中创建了一个自动化插件,并为它设置了一个垫片dll。该 shim dll中包含调用适当的所有User Defined方法 .NET程序集中的方法。

我遇到的问题与Excel 2007有关。

在Excel 2003中, 1.向工作表添加新形状 2.插入>>功能>>和。出现Function参数对话框 3.单击新插入的形状而不是单元格 注意:没有任何反应,并且没有自动输入单元格值 参数框

现在在Excel 2007中, 1.插入新形状 2.公式带状标签>>插入功能>>和。 “函数参数”对话框 过来 3.单击新插入的形状 请注意,现在会显示一个错误对话框,其中显示“您键入的公式” 包含错误“

此对话框用于预定义函数(SUM)。如果我选择我的 从列表中的函数到位的函数,不显示错误对话框 函数参数对话框就消失了。然后单元格显示错误 智能标记。

对于每个函数,是否需要将某些内容放入SHIM dll中? 像属性或将显示此错误对话框的内容。或者可能 方法返回的一些特殊值来告诉参数 已生成错误。

COM垫片中定义的函数如下:

STDMETHOD(GetArea)(MyExcelAddIn::Range *r, double *pRetVal)
{
   return m_pMyUDF->GetArea(r, pRetVal);
}
有帮助吗?

解决方案

我联系了Microsoft,他们确认这是Excel产品中的一个错误。当我从他们那里得到它时,我会发布bug链接。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top