こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

オブジェクト名を変数で参照できますか

VB初心者です。
配列の場合 Dim str(10) as string と宣言し、i番目のデータを取り出したいときには、str(i) と記述すると思います。
そこで質問ですが、例えばCommandが1~10まであるとします。
オブジェクト名はそのまま(Command1, Command2)で、それぞれのCaptionに違ったデータが入っています。
(例えば、Command1のCaptionには'A' Command2のCaptionには'B'といった感じに)
ある文字列があり、For文を使い、CommandのCaptionとその文字列が一致したときに文字列を出力するという処理を行いたいとき、どのように
Command1~10のCaptionを回せばいいのでしょうか?
コードを記述しておきます。
Dim str(10) as String
Dim i as Integer
Dim j as Integer
for i = 0 to 10
for j = 0 to 10
☆☆ if Command(i).Caption = str(j) then
print.str(j)
end if
next
next

☆☆のところです。
可能であれば回答をお待ちしております。
環境は windows XP, VB6.0 です。

投稿日時 - 2006-11-28 14:00:05

QNo.2567628

すぐに回答ほしいです

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

> オブジェクト名はそのまま(Command1, Command2)で、
> VB6.0 です。
VB6なら、コントロール配列(Command1(1)~Command1(10))に変更したほうが楽だと思いますけど・・・

そのままなら、Controlsコレクションを使って、

> if Me.Controls("Command" & Format(i)).Caption = str(j) then

とか・・・

投稿日時 - 2006-11-28 14:25:00

お礼

回答ありがとうございます。
コントロール配列ですね。検索してみた結果「こんな便利なものがあったのか」と目から鱗の思いです。
早速、実装してみたいと思います。
ありがとうございました。

投稿日時 - 2006-11-28 14:45:33

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問