为什么我的项目调用另一个项目代码?

时间:2013-07-24 09:31:29

标签: excel vba excel-vba project add-in

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

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

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

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

强制Excel重新评估代码获取位置的一种快捷方法是执行搜索和替换,并将=更改为=。这导致相同的公式,但强制excel更新其链接,以便找到当前可访问的版本

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

答案 2 :(得分:0)

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