我有一个模块(" Module1"),它有一些宏。其中一些我背靠背运行(它分割代码长度,使调试/故障排除更容易)。在该模块的顶部,我有:
Option explicit
Dim addressFileName as String
Sub noOne()
addressFileName = "C:\Batman.xslx"
End Sub
Sub noTwo()
msgbox("You want to use the file " & addressFileName)
End Sub
如果我在之后运行noOne()然后运行noTwo(),那么效果很好。但是,如果我必须在subTwo()中调试并启动宏,它就不会识别" addressFileName"。
我是否可以定义addressFileName
全局使用?在声明它之后简单地添加addressFileName = "C:\Batman.xslx
("编译错误:无效的外部程序")。
这可能吗?或者是否有一些解决方法?或者有一个很好的理由你不能这样做(如果是这样,我很想知道!)。谢谢你的任何想法!
答案 0 :(得分:2)
有没有办法可以定义全局使用的addressFileName?
使用
public const addressFileName as string = "C:\Batman.xslx"
请注意,您将无法更改字符串,但可以从项目的任何位置引用它。这需要位于模块表的顶部,而不是工作表代码表。有关详细信息,请参阅http://tvmegasite.net/transcripts/amc/main。