首页 > 解决方案 > 如何将 .bas vba 模块文件内容(变量)集成/链接到 vba 项目中?

问题描述

我们有 2 个宏 - 比如说 M1 和 M2。

M1 宏工作正常。

M2 宏未按预期工作(没有编译/运行时错误),原因是此宏 M2 中缺少 1 个文件。说F1.bas。该文件具有以下特点。代码:

Public Const REG_SZ As Long = 1

宏中的其他文件引用此 REG_SZ。在宏 M1 上,如果我右键单击其他文件中的 REG_SZ 并单击定义,那么它会将我带到这一行的 F1.bas 文件。

但是,在 M2 上虽然我已经导入了 F1.bas 文件,并编译了代码;如果我右键单击其他文件中的 REG_SZ 并单击定义,然后它会弹出一个弹出窗口,上面写着:“无法识别光标下的标识符”。

我的理解是模块文件中的任何公共变量都应该是全局可访问的。我是否缺少建立链接的东西,在导入模块文件时我们是否需要做其他事情?

标签: vbams-word

解决方案


我可以建议不要导入 F1.bas,而是在 M1/M2 旁边创建一个新模块并复制 F1 的内容。

我能够重现您的问题,并且编辑器似乎以不同的方式处理复制内容而不是仅导入内容。至于原因……我无能为力。

进一步的测试表明,注释您的变量Public Const REG_SZ As Long = 1并取消注释它会强制编辑器再次识别它(从导入的文件中)。

希望这可以帮助。


推荐阅读