Excel VSTO 2016 - 显示UDF的函数参数对话框

时间:2018-05-09 11:27:27

标签: c# excel vsto office-interop xll

我有一个带有在Excel中使用的UDF的XLL库。用户可以通过直接在单元格中键入UDF名称来使用UDF,也可以通过启动函数向导对话框并搜索特定的UDF,然后再启动函数参数对话框< / strong>针对该特定UDF。

我现在正尝试使用 MSVS2017 / C#/ Office-Interop / VSTO 创建功能区,其中显示图库控件菜单包含所有UDF作为项目。当用户单击下拉列表中的任何UDF项目时,应显示该UDF的函数参数对话框

如何使用Office-Interop / C#/ VSTO显示特定UDF的函数参数对话框,甚至是任何内置函数?

在做了一些谷歌搜索后,我发现这个话题很少。这个question是现货,但解决方案代码不起作用。

我在Office Interop namespaces上找到了这个文档,更确切地说是在built-in dialogs上找到了这个文档。但是我找不到任何关于功能参数对话框的信息。

启动功能向导对话框似乎很容易。可以这样做:

Globals.ThisAddIn.Application.Dialogs[Excel.XlBuiltInDialog.xlDialogFunctionWizard].Show();

我希望您可以为任何具有类似调用的UDF打开函数参数对话框。 我是否必须放弃尝试Office-Interop并使用Excel C Api电话?或者我应该尝试一些第三方工具,例如Excel-DNAAdd-in Express

1 个答案:

答案 0 :(得分:1)

终于找到了解决方案!在调用函数对话框向导之前,必须使用有效的 UDF公式填充活动单元格,然后显示函数参数对话

VBA code给了我一个提示。

所以下面的C#代码可以工作:

first value

zAirAtmTPFC()是XLL中的UDF函数。