我有一个遗留代码 - 一些用于Autocad的宏 - 我在启用了VBA的Autocad 2015上运行它。有一些与字符串相关的函数Trim
,Mid
等。
而这些功能缺少参考,VBA无法找到它们的定义。我可以在对象浏览器中手动找到它们,因此我使用Strings.Trim
并且它可以正常工作。如何避免在VBA中对函数的每次调用添加模块名称?是否有类似include String
'?
编辑:我收到编译错误"无法找到项目或图书馆"这是在此消息之后的参考窗口的屏幕截图:
默认选择Microsoft Word Library。我仔细检查,它的路径是正确的。 没有带有MISSING前缀的库(或者只是看不到它)。也许,其中一些必须被排除,因为它是一个遗留代码,但我不确定在这种情况下疯狂猜测是否可以,或许有一种方法来标记问题库?
答案 0 :(得分:1)
您的某个参考文献(较新版本的AutoCAD,或更可能的Microsoft Word)现在可能具有与之前不存在的左,中,修剪等匹配的函数或方法名称。这将使这些函数名称不明确。 尝试有选择地删除引用以查看对这些函数的影响,或者在键入Mid时观察intelliSense以查看它是否具有不同的含义。
考虑为这些字符串函数编写包装器。例如,编写一个Left函数,在内部调用strings.Left,在可见的模块中使用这些函数。
虽然这不能立即解决您的问题,但它可以让您最大限度地减少对旧版代码的更改。