• ベストアンサー

オブジェクト名に変数は?

List1 List2といったオブジェクト名についている「1」とか「2」と言った数字を変数に出来ないのでしょうか? List1.Clear List2.Clear と一つずつ記述するのでなく、たとえば for I=0 to 2 ListI.Clear next i みたいにならないのでしょうか?VB6使ってます ご教授お願いします。

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

  • ベストアンサー
  • kokegon
  • ベストアンサー率78% (22/28)
回答No.1

コントロール配列にすればできますよ。 こんな感じになります。 For i = 0 to 2 List(i).Clear Next i

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

その他の回答 (2)

回答No.3

できます。 僕も以前同じことで悩みました。 ですが、たとえばListなどをフォームに配置するとき、コピー&ペーストで、「コントロール配列として貼付け」しないといけないと思います。 そうすると、List1、List2ではなく、List(1)、List(2)として生成されますので、List(i)という参照ができます。 もうすでに配置してしまった場合やVBAの場合(コントロール配列ができない)は、たとえばListBoxなら、 Dim List(1 To n) As ListBox として、 Set List(1) = ListBox1 Set List(2) = ListBox2 …… Set List(n) = ListBoxn のように、Setを使用すればよかったかと思います。 そうすると、List(1)のところにList1というオブジェクトが代入されて、次からList(1)をList1の意味で使うことができます。 ただし、最後にSet List(i) = Nothing(n回)で、解放する必要があったかと思います。

すると、全ての回答が全文表示されます。
  • ki-ton
  • ベストアンサー率50% (3/6)
回答No.2

dim i as integer for i = 1 to 2 me("List" & i).Clear next i という感じでどうでしょう

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

関連するQ&A