• ベストアンサー

VBでグローバル変数を宣言するには

VB初心者ですが。クイズゲームのようなものを作成したいと考えてます。 Private Sub ~ End Sub の中で宣言した変数って他のところに呼び出したり(戻り値として渡す)出来るのでしょうか? どこでも、いつでも呼び足せるグローバル変数の宣言とはどのようにやるのか、具体的に教えていただけないでしょうか?

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

  • ベストアンサー
noname#20377
noname#20377
回答No.3

>Public a as Integerのように宣言して、初期化するにはどのように記述を行えばよいですか? >Public a As Boolean = 0 のように記したら”コンパイルエラー”と出ました。 Booleanって整数値取れたかなと思いつつ。 Sub~End Sub内でa = 0を代入したりしてください 扱おうと言うことがあるかどうか疑問だけど Public Const a As Integer = 10 'グローバルな定数の宣言

takimon
質問者

お礼

早々の返答ありがとうございました。booleanに0をいれるのは、確かに変かもしれません。ありがとうございました。

その他の回答 (4)

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.5

Public変数はグローバル変数的な使いかたもできますが 本来の使用方法は異なります。 複数の標準モジュール(.BAS)に同じ名前のPublic変数名 も使用可能で、この場合にはFormモジュール上のコント ロールを指定する時(Form1.Text1)の様に bb = hoge.a # hoge : 標準モジュール名 の様に指定します。 複数のモジュールでPublic変数を使用した場合、同じ モジュール内にPublic変数定義があった場合にはそれが 使用され、他のモジュールで定義されたPublic変数の値 は変化しないので注意が必要です。 Form1.Text1.Text の値を変更しても Form2.Text1.Text の値が変わらないのと同じ。 本来の意味でのグローバル変数定義は Global a As Integer の様に記述しますが、グローバル変数を使用する事は オブジェクト指向プログラミングには向かない為、 既存プログラムとの互換性を保つ目的でのみ残されて いますが、使用を推奨されてはいません。

noname#187541
noname#187541
回答No.4

こんばんは。 グローバル変数については皆さんのレスあるとおりです。 Booleanは、TrueかFalseを入れる変数です。 通常は、Booleanで宣言した変数に値を入れようと a = と入力した時点で TrueとFalseの選択肢が出てくるはずですが。

  • shibu__
  • ベストアンサー率26% (4/15)
回答No.2

プロシージャの先頭(subやfunctionの中にはいれずに)で public 変数名 で宣言すればOKです。 標準モジュールの先頭でやったほうが良いようです。

takimon
質問者

お礼

アトバイスのお陰でなんとか出来ました。 早々の返答ありがとうございました。

noname#20377
noname#20377
回答No.1

できない。 >いつでも呼び足せるグローバル変数の宣言 プロジェクトエクスプローラで標準モジュールを追加して Public a as Integer のように宣言する

takimon
質問者

お礼

アドバイスにのっとってやってみたら、問題解決しました。ほんと初心者だとちょっとしたことでつまづきます。ありがとうございました。

takimon
質問者

補足

Public a as Integerのように宣言して、初期化するにはどのように記述を行えばよいですか? Public a As Boolean = 0 のように記したら”コンパイルエラー”と出ました。 それならと考え、一行改行して Public a As Boolean a = 0 と記述すると”プロシージャー外では無効です”と出てしまいます。

関連するQ&A