我们有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,然后单击“定义”,则会显示一个弹出窗口:“无法识别光标下的标识符”。
我的理解是,模块文件中的任何公共变量都应该可以全局访问。建立链接我缺少什么东西,导入模块文件时我们还需要做其他事情吗?
答案 0 :(得分:1)
我可以建议不要导入F1.bas,而是在M1 / M2旁边创建一个新模块并复制F1的内容。
我能够重现您的问题,编辑器似乎对复制内容(而不只是导入)进行了不同的处理。至于为什么...我帮不上忙。
进一步的测试表明,对变量Public Const REG_SZ As Long = 1
进行注释并取消注释,会迫使编辑器再次(从导入的文件中)识别它。
希望这会有所帮助。