tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 疑似配列
投稿日: 2009/09/01(Tue) 17:58
投稿者魔界の仮面弁士
> フォームにスイッチを100個配置したいので、疑似配列を用いて作りたいのですが、

VB6 の場合には、コントロール配列を使った方が簡単かと思いますよ。

開発時に、ボタン(Command1)の Index プロパティに 0 を指定してみてください。
そうすると、コントロール配列が生成されます。

あとはそれを
 For p = 1 To 10
  Load Command1(p)
  Command1(p).Caption = "ボタン" & CStr(p)
  Command1(p).Move Command1(p - 1).Left, Command1(p - 1).Top + Command1(p - 1).Height
  Command1(p).Visible = True
 Next
のようにすれば、実行時に Load/Unload で増減させることもできます。


あるいは実行時に増減させるのではなく、開発時に、
その Command1(0) を Ctrl+C と Ctrl+V でコピーしていけば、
「Index のみが異なる同名のコントロール」が用意されますので、それを
 For p = 0 To 99
  Command1(p).Caption = "ボタン" & CStr(p)
 Next
あるいは
 Dim cmd As VB.CommandButton
 For Each cmd In Me.Command1
  cmd.Caption = "ボタン" & CStr(cmd.Index)
 Next
などのようにしてプログラムから処理できるようになります。



> 内容を理解していなくてすみませんが、MyCmdでエラーしています。
この方法の場合には、MyCmd という名前の クラスモジュールを用意する必要があります。
Excel 側のソースが残っていれば、そのクラスモジュールにも幾つかのコードが
記述されているかと思いますので、調べてみてください。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。