在ThisOutlookSession的顶部我定义:
Option Explicit
Public varTest As Long
我在ThisOutlookSession中也有几个测试程序。
使用debug我运行这个test3程序:
Sub test3()
varTest = 42
End Sub
然后我运行test3b,但不是varTest显示值42,而是显示为零。
Sub test3b()
MsgBox varTest
End Sub
显然我对范围或持久性有一些误解。我做错了什么?
答案 0 :(得分:2)
经过更多搜索后,我在Sue Mosher, Outlook MVP找到了以下内容:
请记住 ThisOutlookSession是一个类模块。
您需要向项目中添加至少一个常规代码模块,并在其中声明您的全局变量,而不是在ThisOutlookSession中,使用公共 关键字而不是普通的旧Dim
当我将Public变量定义移动到Module时,确实解决了持久性问题。