如何使XLAM UDF调用可移植?

看来,当我在XLAM文件中调用UDF时,XLAM文件的path被embedded到电子表格中。 当我从另一台机器(它安装了相同的XLAM加载项,只是安装到不同的path)打开电子表格时,Excel会抱怨“此工作簿包含指向其他数据源的链接…”这似乎不是XLL中的UDF问题。 有没有解决的办法?

这种行为是Addin UDF在Excel中实现的一个结果。

有三种方法可以缓解这个问题:

使用强制特定path的安装程序

向XLAM中添加一些代码,检查打开的每个工作簿的链接,如果链接指向您的XLAM,但在不同的path中,则执行查找和replace,以便更正path。

将您的XLAM UDF转换为XLL(如果VBA转换为VB.Net并使用Excel DNA或Addin Express创buildVB.Net XLL)