定义VBA静态变量会导致编译器错误

时间:2016-12-02 21:24:30

标签: vba ms-word word-vba

根据Microsoft的说法:https://msdn.microsoft.com/en-us/library/z2cty7t8(v=vs.100).aspx以下静态变量声明是正确的。

Public Sub MyProc()
     static count as integer = 0
     count = count + 1 
End Sub

根据Word 2010 VBA,这是编译器错误。它想要:

Public Sub MyProc2()
     static count as integer
     count = count + 1 
End Sub

您必须假设静态计数初始化为零。

希望这有助于其他人。

1 个答案:

答案 0 :(得分:4)

您的问题中的链接是指VB.NET,而不是VBA。 VBA需要第二个示例中的语法。

正确的链接是Visual Basic for Applications Reference – Static Statement。语法描述如下:

  

静态varname [([下标])] [如[新]类型] [,varname [([下标])] [如[新]类型]]。 。

正如您所看到的,VBA不允许在声明静态变量的同一语句中赋值。