【问题标题】:How to change the "fullpath" property of References in VBA (Tools -> Refences)?如何更改 VBA 中引用的“文件路径”属性(工具-> 引用)?
【发布时间】:2020-05-04 09:30:15
【问题描述】:

我确信有不同的方式来表达这个问题,但这是我想要达到的最终结果。

所以,我有一个设置,其中代码用 C# 编写并作为函数添加到 Excel。它依赖于在 VBA 窗口中的 Tools->References 中有一个特定的 .tlb 文件。

当我对此进行测试时,.tlb 文件(以及其他文件)位于我的本地驱动器上,但现在项目正在运行,我需要将其传输到网络驱动器。问题是我找不到任何方法来更改被引用的实际文件(或文件路径) - 它总是在查看我的本地路径。

我尝试了一些方法:

按照此处列出的步骤https://support.microsoft.com/en-us/help/308340/how-to-check-and-remove-incorrect-project-references-in-the-visual-bas

使用 .References.Remove 表达式尝试了几个 VBA 代码。这实际上并没有从列表中删除引用,它只是取消选中它。

我尝试从本地驱动器中删除文件(导致 Excel 错误,引用已被移动、删除或重命名 - 很好),然后从我想要的新位置添加引用。这导致了以下两种情况之一:

1) 如果我尝试手动添加它 - 没有任何反应,现有的引用保持未选中状态,并且没有添加任何新内容(据我所知)。

2) 如果我尝试通过 .References.AddFromFile "filepath" 表达式执行此操作,它会勾选引用,如果未勾选(这确实 not 使外部公式起作用),或者引用的错误如果打勾的话,这样的名字已经存在了。

【问题讨论】:

  • 大胆猜测:您是否尝试过查看注册表并以这种方式删除引用。然后你可以用网络位置重新添加它..也许..只是猜测,我自己还没有真正研究过
  • @Zac 我在想这可能会解决它,但我不知道这些存储在注册表中的什么位置。您对此有什么见解吗?或者我应该问问 ol' Google?
  • :) 谷歌是我开始的地方。不幸的是,这不是我在工作中可以做的事情(尽管可能会在周末做)。我为不同的应用程序做了类似的事情,它确实对我有用。只需确定这些在注册表中的位置.. 说起来容易做起来难
  • Rubberduck 具有设置和删除引用的实用程序。也许它可以提供帮助。

标签: excel vba reference updates


【解决方案1】:

用下面的傻方法在网盘上重新编译。

打开 VBA 编辑器 进入每个模块 插入一行(不管你写什么) 按 ENTER 删除您插入的行 完成后,在菜单中单击调试\编译

来源:安德烈亚斯杀手 https://answers.microsoft.com/en-us/msoffice/forum/all/ms-excel-error-cannot-run-the-macro-the-macros-may/3f3106b2-ae60-4d21-ac94-67e54e605922

【讨论】:

    猜你喜欢
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多