gpt4 book ai didi

excel - 当工作簿移动到与加载项不同的文件夹时,如何保留对加载项 UDF 的引用?

转载 作者:行者123 更新时间:2023-12-02 07:52:41 27 4
gpt4 key购买 nike

我编写了一个提供 UDF(用户定义的工作表函数)的 Excel 加载项。

一切都很好,直到一个用户使用这些功能将其工作簿发送给另一位用户,或者只是尝试在多台计算机上使用该工作簿,其中加载项已安装到不同的路径。

即使路径中的唯一区别是驱动器号,当在另一台计算机上打开工作簿时,旧的完整路径会出现在所有 UDF 前面的公式中,并且公式会返回错误。

处理此问题的一种方法是搜索并替换工作簿中的所有公式,用空字符串替换路径。然后,公式会根据当前计算机上的加载项路径自行重置。有时我必须进入 VBE 并运行CalculateFullRebuild 才能使公式发挥作用。尽管它有效,但对于技术含量较低的用户来说,要求很高,而且对于那些经常移动工作簿的用户来说,必须频繁执行此操作很烦人。

另外 -- COM 加载项是否存在此问题?我的加载项是 xla。尽管我对此很好奇,但在本例中这是一个没有实际意义的问题,因为 COM 加载项无法在 Macintosh Excel 上运行,而我需要此加载项才能跨平台工作。

更新:

根据要求,这是屏幕截图:

Screenshot showing path in formula

此屏幕截图显示了如果 Fred 将加载项放在 C:\Fred's Stuff\Fred's Excel Stuff\MyAddin.xla 中,将其工作簿发送给 Martha,而 Martha 将相同的加载项放在另一个路径中,例如为 C:\Martha's Files\Martha's Excel Files\MyAddin.xla,Martha 打开 Fred 发送的文件。

如果 Martha 删除了路径,只在公式中留下“=MyUDF()”,Excel 将在 Martha 的计算机上的 Martha 放置路径中找到 MyAddin.xla(假设她之前已安装 MyAddin.xla 作为加载项)在 Excel 中),并正确解析公式。

最佳答案

这是 Excel 开发人员有时需要面对的众多问题之一,有一些解决方法,但您选择哪一个将取决于您自己的情况:

http://www.jkp-ads.com/articles/FixLinks2UDF00.asp

如果链接失效,这里总结了三种建议的方法:

  • 使用固定地点。
  • 您无需将 UDF 代码保留在插件内,而是创建一个将 UDF 例程复制到使用它的每个工作簿中的工具。
  • 将 UDF 重定向到新位置。

关于excel - 当工作簿移动到与加载项不同的文件夹时,如何保留对加载项 UDF 的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24925424/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com