首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >定义VBA静态变量会导致编译器错误

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

Stack Overflow用户
提问于 2016-12-03 05:24:30
回答 2查看 72关注 0票数 2

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

代码语言:javascript
运行
复制
Public Sub MyProc()
     static count as integer = 0
     count = count + 1 
End Sub

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

代码语言:javascript
运行
复制
Public Sub MyProc2()
     static count as integer
     count = count + 1 
End Sub

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

希望这对其他人有帮助。

EN

回答 2

Stack Overflow用户

发布于 2016-12-03 05:54:45

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

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

静态变量名[(下标)][作为新类型] [,变量名[(下标)][作为新类型]]。。。

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

票数 4
EN

Stack Overflow用户

发布于 2016-12-05 22:31:49

谢谢你,迪伊,Word VBA 2010编译器喜欢这个语法。我更喜欢定义静态变量,而不是任由编译器随意定义。

作为整数的静态计数:计数=1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40941044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档