Outlook 2013 VBA公共变量不会保留

时间:2015-06-10 15:02:25

标签: vba outlook outlook-vba

在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

显然我对范围或持久性有一些误解。我做错了什么?

1 个答案:

答案 0 :(得分:2)

经过更多搜索后,我在Sue Mosher, Outlook MVP找到了以下内容:

  

请记住 ThisOutlookSession是一个类模块

     

您需要向项目中添加至少一个常规代码模块,并在其中声明您的全局变量,而不是在ThisOutlookSession中,使用公共   关键字而不是普通的旧Dim

当我将Public变量定义移动到Module时,确实解决了持久性问题。