VBAでの作業initlialized String変数に文字列を割り当てることはできません(コンパイルエラー:ステートメントの期待された末尾)

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

質問

変数を初期化しようとしているモジュールで作業しています。何らかの理由で宣言:

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でラベル付け)は、関数の外部で宣言され、割り当てられます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top