• ベストアンサー

Forms( )の使い方を教えて下さい。

Forms()の使い方が良く分かりません。 1つのフォームから複数のフォームを簡略して操作したいのですが、 Forms(?)の?の部分が分かりません。インデックス番号?名称? (例) For i = 0 To 4 Forms(i).Label1.Caption = "AAA" Next i Forms(?)の?は作成した順番だと思っていましたが、違いました。 各フォーム?の部分の調べ方と変更方法が有りましたらご教授願います。

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

  • ベストアンサー
回答No.3

MSDNでは下記のように解説されているので、Loadされた順番です。 また、LoadしてないFormはFormsに含まれないようです。 (例) Load Form1 Load Form2 Load Form3 とした場合、Forms(2)はForm3を指します。 Formsコレクションは、アプリケーションにロードされている各フォームを表す要素を持つコレクションです。 Forms コレクションのプロパティは、コレクション上の要素の数を指定する Count プロパティだけです。 Forms コレクションを使って、アプリケーションにロードされているすべてのフォームを参照することができます。 このコレクションでは、どこからでも参照できる組み込み変数 Forms が使用できます。 Forms(index) は、Form クラスの引数として関数に渡すことができます。

mmac
質問者

お礼

回答有難うございます。 >MSDNでは下記のように解説されているので、Loadされた順番です。 >また、LoadしてないFormはFormsに含まれないようです。 なるほど、Loadされた順番なんですね。 Countした時に数が合わなかったりForms(?)の?順序が違うのはこのためでした。 分かりやすい回答有難うございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

バージョンを書かないと。 VB.NETかVB6.0か。 VB6らしいが。コントロール配列のことでは。 ただしVB6準拠のVBAでも使えない。 Googleで「コントロール配列」で照会して勉強のこと。たくさん記事が出る。

mmac
質問者

お礼

回答有難うございます。 失礼しました VB6.0です。 (例)の場合 For Each の方が適切でした^^; コントロール配列を勉強中にForms()でつまづきました。 もう少し勉強してみます。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

VB6.0で良いのでしょうか? 例えばこんな感じの事? Dim f As Form For Each f In Forms f.Label1.Caption = "AAA" Next

mmac
質問者

お礼

回答有難うございます。 失礼しました VB6.0です。 (例)の場合 For Each の方が適切でした^^; Forms()の使い方も分かりましたらお願いします。

関連するQ&A

専門家に質問してみよう