投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/8/22 00:41:33
> 単一行形式
これは、マルチステートメントをサポートしていなかった時代の、旧き BASIC の名残ですね。


> VBの言語仕様上If文のThenは省略可能ということはみなさんご存知でしたか?
はい。ただしそれは、VB7.0 (VB.NET 2002)以降においてのみですよね。

6.0 以下のバージョンにおいては、Then は省略できず、
構文エラーとみなされてしまう事に注意が必要です。


一方、6.0 以下のバージョンにおいては、「End If」を「EndIf」と
続けて書いても良い事になっています。

しかし .NET バージョンになってからは、「EndIf」の構文が廃止されており、
 『'EndIf' ステートメントは現在サポートされていません。'End If' を使用してください。』
というコンパイルエラー(BC30826)となってしまいます。

とはいえ、開発環境のコードエディタを使うと、VB6 でも VB.NET でも、
「EndIf」を「End If」に自動修正してくれますので、通常は
この違いを意識する必要は無いのですけれどね。


# なお、VBScript の場合には、Then を省略することはできませんし、
# End If を EndIf と記述する事もできません。