1

我在 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);
}
4

1 回答 1

0

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

于 2009-03-19T05:32:38.790 回答