• ベストアンサー

VB6の変数宣言について

VB6で変数を宣言するときにいちいち新しいプロシージャのたびに新しく宣言しなおすのがすごく不便です。 Dim A As Integer A = 12345 と毎回宣言すると見た目も悪いですしいろいろと不便です。 どのプロシージャにも A と書けば必ず 12345 を呼び出してくれるようにはできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • x415f484f
  • ベストアンサー率71% (57/80)
回答No.1

※ 私の解釈違いかもしれませんので、取り敢えずは補足要求とさせて頂きます。 > Dim A As Integer > A = 12345 > と毎回宣言すると見た目も悪いですしいろいろと不便です。 これだけでは意味がよくわかりませんが…… こういう意味でしょうか? ※ フォームのコードを記述しているとして Private Sub subA() Dim A As Integer A = 12345 ... End Sub ------------------------------ Private Sub subB() Dim A As Integer A = 12345 ... End Sub ------------------------------ Private Sub subC() Dim A As Integer A = 12345 ... End Sub ------------------------------ ※ ご質問がそうだと仮定して…… それが定数であれば (General) の箇所に定数として記述して このようにします。 Private Const A As Integer = 12345 ------------------------------ Private Sub subA() ... End Sub ------------------------------ Private Sub subB() ... End Sub ------------------------------ Private Sub subC() ... End Sub ------------------------------ とするか、または標準モジュールで Public Const A As Integer = 12345 とすればよろしいのではないでしょうか? 定数ではなく変数であれば (General) で宣言して Form_Load などで初期化します。 # フォームがなく標準モジュールしかない場合は Sub Main で初期化。

enjinn1234
質問者

お礼

説明不足でしたね。すみません。でもずばりそういうことです。 宣言をプロシージャの前におけば解決するのですね! おかげで無事プログラムが書けそうです。ありがとうございました!

その他の回答 (1)

noname#140971
noname#140971
回答No.2

>Dim A As Integer >A = 12345 >と毎回宣言すると見た目も悪いですしいろいろと不便です。 これは、基本中の基本だから仕方のないことじゃないですかね。 >広域変数を用いることで、それぞれの関数内での宣言を省くことも可能である。 >しかし、広域変数は変数の役割りを不可視する効果もあるので多用するべきではない。 確か、このような警告を「プログラミング言語C改訂版」でカーニハン&リッチーが述べていたように記憶しています。