CallByNameを使ってListBoxに順次、入力したいのですがエラーばっかりでうまくいきません

解決


Kamo  2010-08-04 00:10:30  No: 147016  IP: [192.*.*.*]

VisualBasic6の掲示板で次の質問をした者です。

Dim LBX() AS Object={ListBox1,ListBox2,ListBox3,ListBox4,ListBox5}

 For i = 0 To 4
    CallByName(LBX(i),"Items",CallType.Method,CStr(i))
 Next

  上記でエラーの続出でしたが

(1) ListBox の [Items プロパティ]から、
  ListBox.ObjectCollection クラスを得る。

(2) 1 で得たオブジェクトの [Add メソッド]にて
  新しいデータを登録する。

のヒントを戴いてようやくエラーがなく目的の処理ができました。

 Dim OBj As Object

 For m = 0 To 4

     OBj = CallByName(LBX(m), "ITems", CallType.Get)

     CallByName(FC, "Add", CallType.Method, CStr(m))

 Next

これで  12個のListBoxに(式では5個)データベースの14行12列を
表示できることになりました。

 魔界の仮面弁士様  有難うございました。

編集 削除
Kamo  2010-08-04 01:07:05  No: 147017  IP: [192.*.*.*]

訂正です。

VisualBasic6の掲示板で次の質問をした者です。

 Dim OBj As Object

 For m = 0 To 4

     OBj = CallByName(LBX(m), "ITems", CallType.Get)

     CallByName(OBj, "Add", CallType.Method, CStr(m))

 Next

これで  12個のListBoxに(式では5個)  データベースの14行12列を
表示できることになりました。

有難うございました。

編集 削除
魔界の仮面弁士  2010-08-04 01:24:00  No: 147018  IP: [192.*.*.*]

> VisualBasic6の掲示板で次の質問をした者です。

日数が経つと、どの投稿の事だか追えなくなるので、
今のうちにリンクを貼っておきます。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+201008/10080002.txt

で。

今回のパターンでは、LBX(m) が ListBox である事が明らかなので、
CallByName するのではなく、それを ListBox にキャストした方が、
効率が良いと思いますよ。

編集 削除