在VBA中工作,我无法将字符串分配给initlialized字符串变量(编译错误:预期声明结束)

StackOverflow https://stackoverflow.com//questions/24039148

我正在access中的一个模块中工作,试图初始化变量。由于某种原因,宣言:

Dim ModName As String = "modWindowsFileSystem" 

在'='处创建一个编译错误,并显示错误消息"Expected:end of statement"。我已经在mutiple网站上查找了所有同意我的语法的格式这里是一个值得信赖的:http://msdn.microsoft.com/en-us/library/7ee5a7s1.aspx 另一个网站建议我在一个函数中声明变量,例如

Sub AssignValueString()
   Dim Modname As String
   Modname = "modWindowsFileSystem"
End Sub

但这似乎是不必要的。可能会考虑的一个问题是我已经保存了模块并将其命名为modWindowsFileSystem。我不确定这是否会以某种方式与初始化该变量冲突。

有帮助吗?

解决方案

VBA与VB有点不同。您发布的msdn链接实际上是针对VB的,它允许内联声明和分配。不幸的是,VBA不会允许这样做。

所以,你可以拆分它们,就像你的例子一样:

Dim Modname As String
Modname = "modWindowsFileSystem"

或者,您可以放置延续字符 : 在一条线上实现这一点。

Dim Modname As String : Modname = "modWindowsFileSystem"

就模块变量的赋值而言,您可以在函数之外声明全局变量,但您需要在函数中设置它们的值,例如 init() 函数。常量(标有 Const)可以在函数之外声明和分配。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top