LoginSignup
2

More than 3 years have passed since last update.

posted at

updated at

Organization

VBScriptで変数名に日本語や空白を入れる方法

VBAでは変数名に日本語を使うことができるので、以下のようなコードを書くことが出来ます。

Dim 名前 As String
名前 = InputBox("名前を入力して下さい")

一方でVBScriptでは変数名に日本語を使うことは許されておらず、以下のコードはエラーになります。
のっぴきならない事情により、VBScriptでも変数名に日本語を使いたい時にはどうしたらいいでしょうか?

Dim 名前
名前 = InputBox("名前を入力して下さい")

解決策

変数名を[]で囲む。

なんと!変数名を[]で囲むことによってその中に日本語を書くことができるようになります。

Dim [名前]
[名前] = InputBox("名前を入力して下さい")

この機能は公式ドキュメントにも書かれていない隠し機能ですが、確かに動作します。

更に以下のブログ記事によると、ほぼすべての文字が使えるようなので、変数名を好き勝手につけ放題です。
空白や記号を含んでいても、予約語だろうが変数名にすることが出来ます。
あまりにもアレ気な仕様なので、Qiitaのシンタックスハイライトがバグってますが、実行してみるとエラーは出ません。
VBScript Trivia: Bracket Identifiers and Reserved Word Incompatibilities

Dim [with space], [symbol!"#$], [If]

また、変数名だけでなく、任意の識別子に対してこの記法が使えるため、[While]関数や、[End]メソッドを作ることだって出来ます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2