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

解決


Kamo  2010-08-04 09:10:30  No: 147016

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 10:07:05  No: 147017

訂正です。

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 10:24:00  No: 147018

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

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

で。

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加