プロが教える店舗&オフィスのセキュリティ対策術

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 です。

A 回答 (1件)

> オブジェクト名はそのまま(Command1, Command2)で、


> VB6.0 です。
VB6なら、コントロール配列(Command1(1)~Command1(10))に変更したほうが楽だと思いますけど・・・

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

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

とか・・・
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/11/28 14:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!