vba - 如何将 .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 并单击定义,然后它会弹出一个弹出窗口,上面写着:“无法识别光标下的标识符”。
我的理解是模块文件中的任何公共变量都应该是全局可访问的。我是否缺少建立链接的东西,在导入模块文件时我们是否需要做其他事情?
解决方案
我可以建议不要导入 F1.bas,而是在 M1/M2 旁边创建一个新模块并复制 F1 的内容。
我能够重现您的问题,并且编辑器似乎以不同的方式处理复制内容而不是仅导入内容。至于原因……我无能为力。
进一步的测试表明,注释您的变量Public Const REG_SZ As Long = 1
并取消注释它会强制编辑器再次识别它(从导入的文件中)。
希望这可以帮助。
推荐阅读
- python - 如何正确地将拆分函数传递给 TextVectorization 层
- sms - 我们可以在 Mitel Your Site Explorer 上对传入的 SMS 消息进行基于文本的调节吗?
- c++ - 如何接收带有空格的输入,然后将其存储到向量中?
- python - NetworkX 中的最短路径生成器
- r - jsonlite 错误:词法错误:json 文本中的无效字符
- java - 在 bash shell 上使用 Maven 来自动化我的部署工作流程 (github-package-registry)
- geocoding - 当交叉路口包括州际高速公路时地理编码失败
- python - django.db.utils.OperationalError: no such table: Recruiter_jobs table not found 错误?
- node.js - NPM 找不到它认为缓存的文件(errno -4058 没有这样的文件或目录)
- smartcontracts - 意外的基板“ink_env::debug_println”行为