[ VBA ] コンパイルエラー:修正候補:ステートメントの最後 ( Const は OK )

Pocket

ここでは、VBA のコンパイルエラーのメッセージがもう少し何とかならないものかと思ったので、備忘録として残してあります。

スポンサーリンク


VBA でコンパイルエラーとなる例

次のソースコードは Const 宣言は大丈夫ですが、ただのグローバル変数の宣言&初期化でコンパイルエラーとなるサンプルスクリプトです。

Option Explicit

Public Const gVer1 As String = "CONST定数定義"
Public    gVer2 As String = "グルーバルなただの変数定義"
VBA コンパイルエラーの意味がわからない

VBA コンパイルエラーの意味がわからない

コンパイルエラー:

修正候補:ステートメントの最後

コンパイルエラーの意味

Const 宣言であれば宣言と初期化を一度に行うことができますが、ただのグローバル変数の定義の場合は、宣言と初期化を同時に行うことができません。なお、グローバル変数でなく、ローカル変数でも NG です。コンパイルエラーになってしまいます。

そして、上記のコンパイルエラーメッセージダイアログが出力されます。メッセージからエラーの内容を推測することはできません。

もちろん、「 変数の宣言と初期化を同時にできると思い込んでいる人にとっては 」 の但し書き付きですが。

随分前から同じメッセージが出力されていますので、もう変更することは難しいのかもしれませんし、変更すると意味不明なメッセージに慣れたユーザーがブツブツ言い出すかもしれません。マイクロソフトにとっては、「 小さな親切大きなお世話 」 となるかもしれません。

慣れればすぐに気づくようになるとは思いますが、慣れたくはありませんし、記憶力がないので慣れる前に忘れてしまいます。同じことを繰り返してしまいます。個人的には変更できるモノであれば変更してほしいと思っています。

VBA を使うのはガチンコのプログラマーだけではなく、事務職など専門が別の人も多いと思います。もう少しわかりやすくなると、さらにユーザーも増えるのではないでしょうか?

業種関係なく健全な競争は歓迎

自分たちでできる人が増えてくると、プログラマーの仕事は減るかもしれないですが、それはどんな業種にも言えることです。業種に関係なく健全な競争は良いことだと思います。

この例では、大手IT会社が、中小IT会社の仕事を減らす構図になっていますが。。。

民間だけではなく、行政間でも健全に競い合うような仕組みとかあれば、より良い日本になると思います。出来ない理由を考えるのではなく、どうすればできるか本気で考えて欲しいモノです。

出来ない理由を探すことは簡単です。誰にだって出来ます。と、偉そうに言ってみました。

(おわり)

スポンサーリンク

Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>