- ベストアンサー
VBでグローバル変数を宣言するには
VB初心者ですが。クイズゲームのようなものを作成したいと考えてます。 Private Sub ~ End Sub の中で宣言した変数って他のところに呼び出したり(戻り値として渡す)出来るのでしょうか? どこでも、いつでも呼び足せるグローバル変数の宣言とはどのようにやるのか、具体的に教えていただけないでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>Public a as Integerのように宣言して、初期化するにはどのように記述を行えばよいですか? >Public a As Boolean = 0 のように記したら”コンパイルエラー”と出ました。 Booleanって整数値取れたかなと思いつつ。 Sub~End Sub内でa = 0を代入したりしてください 扱おうと言うことがあるかどうか疑問だけど Public Const a As Integer = 10 'グローバルな定数の宣言
その他の回答 (4)
- don_go
- ベストアンサー率31% (336/1059)
Public変数はグローバル変数的な使いかたもできますが 本来の使用方法は異なります。 複数の標準モジュール(.BAS)に同じ名前のPublic変数名 も使用可能で、この場合にはFormモジュール上のコント ロールを指定する時(Form1.Text1)の様に bb = hoge.a # hoge : 標準モジュール名 の様に指定します。 複数のモジュールでPublic変数を使用した場合、同じ モジュール内にPublic変数定義があった場合にはそれが 使用され、他のモジュールで定義されたPublic変数の値 は変化しないので注意が必要です。 Form1.Text1.Text の値を変更しても Form2.Text1.Text の値が変わらないのと同じ。 本来の意味でのグローバル変数定義は Global a As Integer の様に記述しますが、グローバル変数を使用する事は オブジェクト指向プログラミングには向かない為、 既存プログラムとの互換性を保つ目的でのみ残されて いますが、使用を推奨されてはいません。
こんばんは。 グローバル変数については皆さんのレスあるとおりです。 Booleanは、TrueかFalseを入れる変数です。 通常は、Booleanで宣言した変数に値を入れようと a = と入力した時点で TrueとFalseの選択肢が出てくるはずですが。
- shibu__
- ベストアンサー率26% (4/15)
プロシージャの先頭(subやfunctionの中にはいれずに)で public 変数名 で宣言すればOKです。 標準モジュールの先頭でやったほうが良いようです。
お礼
アトバイスのお陰でなんとか出来ました。 早々の返答ありがとうございました。
できない。 >いつでも呼び足せるグローバル変数の宣言 プロジェクトエクスプローラで標準モジュールを追加して Public a as Integer のように宣言する
お礼
アドバイスにのっとってやってみたら、問題解決しました。ほんと初心者だとちょっとしたことでつまづきます。ありがとうございました。
補足
Public a as Integerのように宣言して、初期化するにはどのように記述を行えばよいですか? Public a As Boolean = 0 のように記したら”コンパイルエラー”と出ました。 それならと考え、一行改行して Public a As Boolean a = 0 と記述すると”プロシージャー外では無効です”と出てしまいます。
お礼
早々の返答ありがとうございました。booleanに0をいれるのは、確かに変かもしれません。ありがとうございました。