VBAでの作業initlialized String変数に文字列を割り当てることはできません(コンパイルエラー:ステートメントの期待された末尾)
-
21-12-2019 - |
質問
変数を初期化しようとしているモジュールで作業しています。何らかの理由で宣言:
Dim ModName As String = "modWindowsFileSystem"
.
「expected:ステートメントの終了」で、「=」でコンパイルエラーを作成します。私はここで私の構文に同意するすべてのWebサイトのフォーマットを調べました:信頼できるものです。 > http://msdn.microsoft.com/en-us/library/7ee5a7s1.aspx. 別のウェブサイトは推奨されています
などの関数内で変数を宣言しましたSub AssignValueString()
Dim Modname As String
Modname = "modWindowsFileSystem"
End Sub
.
しかしそれは不要に見えます。考慮される可能性がある問題の1つは、モジュールを保存し、IT ModWindowsFileSystemという名前を付けました。これがその変数を初期化することで、どういうわけか競合するかどうかわかりません。
解決
VBAはVBとは少し異なります。投稿したMSDNリンクは実際にはVB用です。これにより、インライン宣言と割り当てが可能になります。VBAはこれを許可しません、残念ながら
だから、あなたはそれらをあなたの例のように分割することができます:
Dim Modname As String
Modname = "modWindowsFileSystem"
.
または、継続文字:
を1行に達成することができます。
Dim Modname As String : Modname = "modWindowsFileSystem"
.
モジュールの変数の割り当てに限り、関数の外部でグローバル変数を宣言することができますが、init()
関数のように関数内に値を設定する必要があります。定数(Const
でラベル付け)は、関数の外部で宣言され、割り当てられます。
所属していません StackOverflow