予約語を変数名やプロシージャ名に使用する方法

たまたま見つけたので引用。

VBScriptにおいて、通常、end とか and とかの予約語VBでは変数名に使用することができない。
が、ブラケット("[", "]") で括ることで、予約語であっても変数名やプロシジャ名の識別子として使用することができる。

IDENTIFIER        : BRACKETIDENTIFIER or NORMALIDENTIFIER
NORMALIDENTIFIER  : LETTER followed by 0 to 254 IDCHARs, but not a RESERVEDWORD BRACKETIDENTIFIER : [ 0 to 255 BRACKETCHARs ]
LETTER            : a-z, A-Z
IDCHAR            : a-z, A-Z, 0-9, _
BRACKETCHAR       : any Unicode character except newline, linefeed, the null string terminator and  ]
RESERVEDWORD      : And As Boolean ByRef Byte ByVal Call Case Class Const Currency Debug Dim Do Double Each Else ElseIf Empty End EndIf Enum Eqv Event Exit False For Function Get Goto If Imp Implements In Integer Is Let Like Long Loop LSet Me Mod New Next Not Nothing Null On Option Optional Or ParamArray Preserve Private Public RaiseEvent ReDim Rem Resume RSet Select Set Shared Single Static Stop Sub Then To True Type TypeOf Until Variant WEnd While With Xor, reserved words are case-insensitive

VBScript Trivia: Bracket Identifiers and Reserved Word Incompatibilities - Fabulous Adventures In Coding - Site Home - MSDN Blogs

また、空白を含めることができるらしい。

[Hey, how're you doing dude? Working hard, or hardly working?] = [Ha, ha, ha, that's very witty Eric!]

VBScript Trivia: Bracket Identifiers and Reserved Word Incompatibilities - Fabulous Adventures In Coding - Site Home - MSDN Blogs