0

目前我有两个版本的 excel 插件 - 已发布版本和当前 WIP 版本。

当我将两者都加载到 Excel 中并尝试运行已发布的代码时,它会调用我的 WIP 代码,这对于测试来说是垃圾。当我在 VBE 中打开代码时,我仍然可以按预期运行子例程。

我查找了有关调用其他项目代码的项目的信息,但我发现的只是如何执行此操作,而不是它发生的原因/如何停止它。这可能是由于两个项目具有完全相同的子例程和函数名称,但是当前项目的那些肯定应该优先吗?

目前这只是一个烦恼,但在测试时会导致混乱。有人有想法么?

4

3 回答 3

0

我设法通过为每个子例程指定模块名称来阻止这种行为。显然这是.OnAction 的一个已知错误,因为它从最近加载的任何工作簿(我假设模块)调用。谢谢你的帮助,我似乎没有意识到错误在哪里!

于 2013-07-25T08:19:33.170 回答
0

Excel 会记住代码指向的位置,因此即使未选中引用,它也会继续工作 - 您还会注意到,如果重命名加载项,函数将返回#NAME!而不是使用当前版本。

强制 Excel 重新评估从何处获取代码的一种快速方法是进行搜索和替换,然后更改==. 这会产生相同的公式,但会强制 excel 更新其链接,以便找到当前可访问的版本

(从 PRB 推断:Automation Add-In Function Binds to Excel Built-In Function with Same Name

于 2013-07-24T13:37:04.993 回答
0

在 VB 对象浏览器中,转到引用并取消选中对不需要的代码的引用。

于 2013-07-24T09:47:38.673 回答