• 締切済み

For~next を使ってテキストボックスの内容を取得するにはどのようにしたらいいでしょうか??

宜しくお願い致します。 VB2005を使って勉強中です。 現在このようなコードを書いています。 Dim i As Integer For i = 0 To 2 t(i) = ("T" & i).Text MsgBox(t(i)) Next 上のようにコードを書くとエラーになってしまいます。 なぜこのように書いたかといいますと、 t(i) = ("T" & i).Text の部分を  t(i) = T0.Text とすると“T0”というテキストボックス内に記述されている数値を3回メッセージボックスで表示することができたので、同じような感じで書くとT0~T2までのテキストボックス内に記述されている物を順番に表示できるようになるのでは??と思ったからなのですが・・・ 結局無理で行き詰っています。 素人質問ですみません。 どなたか良きアドバイスを宜しくお願い致します。

みんなの回答

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.2

t0、t1、t2というテキストボックス。 ユーザーフォームに貼り付けたコマンドボタン1 で以下はどうでしょうか。 Private Sub CommandButton1_Click() Dim t(2) As Variant Dim i As Integer For i = 0 To 2 t(i) = Me.Controls("t" & i) MsgBox (t(i)) Next i End Sub

munou1go
質問者

お礼

ありがとうございました。 記述していただきました方法は自分でも考えて実行していたのですが エラーが出て実行することができませんでした。 また、何か良い方法がありましたら教えていただけたらと思います。 宜しくお願い致します。

すると、全ての回答が全文表示されます。
  • BellBell
  • ベストアンサー率54% (327/598)
回答No.1

記憶で書きますが、VB6以前に大変便利だったコントロール配列を疑似的に再現する、以下のようなコードが使用できたハズです。 共通変数の宣言部 Dim arrTextBoxes(10) As TextBox フォームの初期化イベント 各テキストボックスへの参照を配列に保存 Set arrTextBoxes(0)=TextBox01 Set arrTextBoxes(1)=TextBox02 Set arrTextBoxes(2)=TextBox03 ・・・・ 使用する際には For i=0 to arrTextBoxes.UBound MsgBox arrTextBoxes(i).Text Next

munou1go
質問者

お礼

ありがとうございました。 記載していただきました方法も基本的な方法として頭の中にはあったのですが、大量のテキストボックスを扱う場合には大量の行を消費することになりますので、基本的にはfor~nextを使って数字を上げていき、数行のみの記述を行うことによって、テキストボックスを参照して配列に格納することができたらと思っておりました。 また、何かありましたら良い方法がありましたら、お知らせいただけたらと思います。宜しくお願い致します。

すると、全ての回答が全文表示されます。