缺少VBA中的引用:如何“包含”模块?

时间:2014-10-09 09:13:34

标签: vba autocad

我有一个遗留代码 - 一些用于Autocad的宏 - 我在启用了VBA的Autocad 2015上运行它。有一些与字符串相关的函数TrimMid等。 而这些功能缺少参考,VBA无法找到它们的定义。我可以在对象浏览器中手动找到它们,因此我使用Strings.Trim并且它可以正常工作。如何避免在VBA中对函数的每次调用添加模块名称?是否有类似include String'?

的内容

编辑:我收到编译错误"无法找到项目或图书馆"这是在此消息之后的参考窗口的屏幕截图:

enter image description here

默认选择Microsoft Word Library。我仔细检查,它的路径是正确的。 没有带有MISSING前缀的库(或者只是看不到它)。也许,其中一些必须被排除,因为它是一个遗留代码,但我不确定在这种情况下疯狂猜测是否可以,或许有一种方法来标记问题库?

1 个答案:

答案 0 :(得分:1)

您的某个参考文献(较新版本的AutoCAD,或更可能的Microsoft Word)现在可能具有与之前不存在的左,中,修剪等匹配的函数或方法名称。这将使这些函数名称不明确。 尝试有选择地删除引用以查看对这些函数的影响,或者在键入Mid时观察intelliSense以查看它是否具有不同的含义。

考虑为这些字符串函数编写包装器。例如,编写一个Left函数,在内部调用strings.Left,在可见的模块中使用这些函数。

虽然这不能立即解决您的问题,但它可以让您最大限度地减少对旧版代码的更改。