【发布时间】:2014-10-17 17:48:17
【问题描述】:
我有一个旧代码 - Autocad 的一些宏 - 我让它在启用 VBA 的 Autocad 2015 上运行。有一些与字符串相关的函数,如Trim、Mid 等。
而且这些函数缺少引用,VBA 找不到它们的定义。我可以在对象浏览器中手动找到它们,所以我使用Strings.Trim,它可以工作。如何避免在 VBA 中每次调用函数时添加模块名称?有没有类似include String'的东西?
已编辑:我收到一个编译错误“找不到项目或库”,下面是此消息后引用窗口的屏幕截图:
并且默认选择 Microsoft Word Library。我仔细检查过,它的路径是正确的。 没有带有 MISSING 前缀的库(或者只是看不到它)。也许,其中一些必须排除,因为它是遗留代码,但我不确定在这种情况下疯狂猜测是否会很好,也许有办法标记问题库?
【问题讨论】:
-
目前对代码的引用是什么?查看是否有任何损坏或丢失的参考。如果是这样修复它们:access-diva.com/d5.html
-
@PaulFrancis 感谢您的关注,我更新了帖子。
-
有人告诉我,Autocad 的位版本不是 32。这是正确的吗?您的错误可能不是因为引用,而是因为编译器错误卡在某处。您是否尝试过对 VBA 代码进行编译?
-
@PaulFrancis 是的,它是 64 位版本。毕竟我编译了项目 - 我删除了对 DAO 3.6 的引用并添加了对最新 Access 库的引用。编译很好,但现在出现了一些奇怪的运行时错误。
-
是的,您还没有真正解决问题。查看代码中的库声明是什么。确保它们是PtrSafe。