如何在Excel加载项(Excel 2007)中使用自定义函数来使用自动完成?

我创build了一个加载项,当我在expression式框中使用它时,自动完成function不起作用。 我在用户定义的函数下单击函数“f”button时看到它们。 我只是喜欢自动完成与他们合作,所以我不必记住他们的名字或每次都必须点击function“f”button。

虽然这是一个古老的线索,似乎有很less的解决scheme在那里。 我在Laurent Longre最初发现的JKP应用程序开发服务中find了一个例子。 一个警告解释如下:

这个技巧方法的缺点是,一个实际上是重新注册一个函数在一个使用的DLL,这可能会被任何程序使用

http://www.jkp-ads.com/Articles/RegisterUDF01.asp

此解决scheme仅注册/取消注册UDF,但用户仍然必须将工作簿保存为.xlam并安装插件。 我使用下面的代码来自动安装当前工作簿作为一个Excel插件(如果你要更新插件,你需要添加一些错误捕获,以确定是否已经安装插件)。

'Saves current workbook as an .xlam file sFile = Application.LibraryPath & "\" & "name_of_addin" & ".xlam" ThisWorkbook.SaveAs sFile, 55 ThisWorkbook.IsAddin = True 'Adds temporary workbook Workbooks.Add 'Installs the addin Set oAddin = AddIns.Add(sFile , False) oAddin.Installed = True 'Closes temporary workbook Workbooks(Workbooks.Count).Close MsgBox ("Installation Successful. Please close Excel and restart.") 'Closes workbook without saving Workbooks(sFirstFile).Close False 

AFAIK没有办法(不幸)在当前的Excel版本,包括Excel 2010使UDF使用自动完成。 有一些方法可以添加参数说明和帮助function向导。