投稿日 | : 2006/04/24(Mon) 16:20 |
投稿者 | : ダンボ |
URL | : |
タイトル | : Re: 現状報告 非コントロール配列のループ処理 |
ふく さん、こんにちは
> Controls(i)で、コントロールを順次参照するとき、
> 参照する順序はどのように決まるのでしょうか?
IDEに新規追加した順番じゃないかな。名前もその順番で決まるし。
> また、順序の変更はできるのでしょうか?
基本的には順序を変えられると思わないほうが良いのでは。フォームを
テキストエディタで開いてコントロールの記述順番を換えればできそうな
気もするけれど(未確認)、そんなことをする位なら名前を付け直したほうが
ましな筈。
> 以下、今回試作コード(どちらかを使う予定)
方式2はまずいでしょう。
コントロールを削除したらその名前も欠番になり、連番という保証は無いです。
で方式1を、コントロール配列と考えるとふくさんのコーディングになり、
コントロール・コレクションと考えると下記コードかな。(コードは手打ちなので未試験)
Private Sub Command1_Click()
Dim CNT As Object
For Each CNT in Controls
If TypeName(CNT) = "CheckBox" Then
If CNT.Value Then
MsgBox (CNT.Name)
End If
End If
Next CNT
End Sub