• ベストアンサー

VB6.0のListBoxの使い方について

VB6.0でリストボックスを3つ作成(配列index0~2)し、index=0のリストボックスをクリックした際にその項目を変数Xに入れたいのですが、X=List1.List(List.ListIndex)でやろうとするとエラーになります。なぜでしょう。何か参照になるサイトありますでしょうか?

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

  • ベストアンサー
  • uruz
  • ベストアンサー率49% (417/840)
回答No.2

リストボックスをコントロール配列にしているのだからコントロールを指定するには配列の添字が必要です。 X=List1(0).List(List1(0).ListIndex)

その他の回答 (1)

回答No.1

フォーム上に“List”という名前のコントロールが無いから。 フォーム上に存在するのは“List1”という名前のコントロール。

関連するQ&A

  • ListBoxでの Drag&Dropについて

    List1で複数選択された項目をList2へドラッグ&ドロップでコピ ーしようと思います。 まず最初にList1のListIndex(1-3)を選択し色を反転させるとし ます。 その状態でドラッグ&ドロップを開始しようとし、List1の任意 のListIndexの部分をクリックするとその後からクリックされた 任意のListIndexの部分がドラッグ&ドロップの対象になり、最 初に予定したListIndex1-4は選択が解除されてしまいます。 これを回避するにはどのようにすればいいのでしょうか? VB6です。 よろしくお願いします。

  • エクセルVBAでフォームのListboxのリストの数を取得するには?

    ワークシート上に貼り付けたリストボックスがあります。 このリストボックスはOLEObjectではなくフォームのリストボックスです。 このリストボックスにリストが何項目セットされているのか取得したいのです。 Set myLb = ActiveSheet.ListBoxes(Application.Caller) MsgBox myLb.Name MsgBox myLb.ListIndex.Count とやってみたところ、名前は取得できましたが、項目数はエラーになってしまいました。 あと、可能ならListの2番目にセットされている項目の文言を取得する方法もあれば知りたいと思います。 宜しくお願いします。

  • ExcelでListBoxを閉じるには?

    Excelにリストボックスを作成します。 そして、特定のセルの値が変更されたら、入力候補をリストボックスに表示する。 リストボックスの項目をダブルクリックまたはEnterキーを入力したら、 リストボックスを非表示にする。 (要は、オートコンプリートなんですが、入力候補は別シートの値を表示したい) ということをしたいのです。 が、VBAで Private sub ListBox1_KeyDown(...) ListBox1.Visible = false end sub とやってしまうと、excelがアプリケーションエラーで死んでしまいます。 どのようにすればよいのでしょうか? よろしくお願いします。

  • VB6.0 リストボックス

    VB6.0で3つのリストボックスに関連性を持たせたいと思っています。 Private Sub lstBox_Click() Dim intLstIndex As Integer intLstIndex = lstA.ListIndex If (lstA.Selected(intLstIndex)) Then lstB.Selected(intLstIndex) = True lstC.Selected(intLstIndex) = True Else lstB.Selected(intLstIndex) = False lstC.Selected(intLstIndex) = False End If End Sub 以上のように、どれか一つのリストボックスがクリックされたら他のリストボックスの同じ行がtrueになるようにしています。 しかしこれでは件数が増えた場合、選択された行が揃わなくなる場合があり非常に見栄えが悪くなります。 リストボックスでなくともかまわないのですが、このように三つの項目に関連性をもたせることはできませんでしょうか。

  • 初期化済み配列変数

    Cでの開発経験はありますが、VBに関しては初心者です。 現在現在VBを使用したシステムを作成するにあたり、ユーザーインターフェイスを検討するため、DBアクセス部を省略したプロトタイプを作成しています。 このシステムでは商品カテゴリを選択するコンボボックスと、選択されたカテゴリの商品一覧を表示するリストボックスからなるものです。 以下のようなプログラム(Cとのごちゃ混ぜですみません。)を作成すればとりあえず動くものは簡単にできるであろうと考えたのですが、VBでの初期化済み配列変数の定義の仕方が分からず困っています。 VBではどのようにすれば良いのでしょうか? また、VBでこのようなことができない場合、通常はどのようにするものなのでしょうか? struct Shouhin { char name[100]; int price; }; struct Shouhin shouhin_list[][] = { { {"鉛筆", 40}, {"ボールペン", 100} }, { {"大学ノート", 100}, {"お絵かき帳", 200} } }; --- ' コンボボックスでの選択に合わせてリストボックスの内容を切り替える。 Private Sub ComboBox_Click() ListBox.list = shouhin_list[ComboBox.ListIndex] End Sub

  • Excel VBA ListBoxについて

    お世話になります。 Excelで以下のようなフォーム画面を作成しております。 1.フォーム画面には、リストボックス、テキストボックス、登録ボタンを設定 2.リストボックスには、Sheet1のデータが表示される。 3.リストボックスのレコードを選択すると、選択した値がテキストボックスに表示される。 4.登録ボタンをクリックすると、テキストボックスのデータが、Sheet1に反映される。 今1~3まではできましたが、4で悩んでおります。 テキストボックスの値を取得してセルに反映させようと以下のコードを書きました。 'リストボックスで選択したレコード数 ListNo = Me.ListBox1.ListIndex 'TextBox1の値を、Sheet1のセルにセット Sheets("sheet1").Cells(ListNo, 1).Value = Me.TextBox1.Value  これを実行すると、何故かここから3のリストボックスのレコードをクリックしたイベントを呼びます。 Private Sub ListBox1_Click() クリックしてもいないのですが、Private Sub ListBox1_Click() を呼ばないようにしたいので、 ListBoxをEnableプロパティをfalseにしても、呼んでました。 呼びにいかない方法をご教授いただけますでしょうか。 よろしくお願いいたします。

  • VB2005 ExpressEditionで勉強しています。

    VB2005 ExpressEditionで勉強しています。 カンマ区切りの文字列を一旦配列に入れて配列のデータを ひとつずつリストボックスに入れる処理を作っているのですが、 配列に重複したデータがあるのでそれをひとつにしたいです。 配列にデータが入ってる時か、リストボックスに入れるときのどちらかで やりたいです。いい方法を教えてください。 本などで探したのですが見つかりません。 イメージは、配列が (aaa,bbb,ccc,aaa)だとすると リストボックスに入るときに (aaa,bbb,ccc)になっていればいいです。

  • .net 2010VB配列TextBox貼り付ける

    初めて質問致します。 よろしくお願い致します。 超初心者レベルです。 VB6の時に、Formにテキストボックスやラベルなどを1つ貼り付け、それをコピーすると「配列にするか?」と聞かれていました。 今、.net 2010 VB でテキストボックス(ラベル)をコピーしても、配列にするかどうか聞いてくれません。 プログラム等ではなく、手動でFormに貼り付け時に、配列にする方法を教えて下さい。 (どのプロパティが、配列のインデックスなのかが分かりません。) <(__)>

  • VB2008→VB2010でエラーが出てまいります

    VB2008→VB2010でエラーが出てまいります  今日は、質問させていただきます。どうぞよろしくお願いいたします。  VB2008+Vistaから、VB2010に変更しようといたしました。 一度必要のないと思われるものをすべてアンインストールし、 VB2010をインストール後、作成中のプロジェクトを開きましたところ、 以下のようなエラーが出てまいります。 ↓【エラー一覧】の項目でございます 警告 1 タイプ ライブラリ "Microsoft.Office.Core" のラッパー アセンブリが見つかりません。 警告 2参照コンポーネント '(プロジェクト名)' が見つかりませんでした。 警告 3参照コンポーネント 'Microsoft.Office.Core' が見つかりませんでした。 ↓【参照】タブを開こうといたしますと、下のような表示が出てまいります。 ページを読み込もうとしているときにエラーが発生しました。 ターゲット フレームワーク '.NETFramework,Version=v4.0' の mscorlib を解決できませんでした。これは、ターゲット フレームワークがインストールされていない場合、またはフレームワーク モニカーの形式が正しくない場合に発生する可能性があります。  .NET Frameworkの何かを消してしまったのでは?などと考えまして、 再インストールなど奮闘してみましたが、解決いたしません。。。 インストール済みの.NET~は添付図の項目になります。  もしお詳しい方がいらっしゃいましたら,是非ともアドバイスいただけないでしょうか。 どうぞよろしくお願いいたします。

  • エクセル VB: フォーム内のリストボックスの項目

    エクセルVBなのですが、フォームをつくってその中にリストボックスを配置しました。 コマンドボタンで呼び出して、シート内にあるリストから項目を抽出し反復を省略したリストを フォーム内のリストボックスに作りたいのですが。 Private Sub CommandButton1_Click() UserForm1.Show (このあとリスト項目のコード) End Sub コマンドボタンをクリックすると、UserForm1が現れますが、リストの中身は空です。一度Unload meでフォームを終わらせて、2回目クリックするとリストの中身が現れます。 一回目のクリックでエラーは出ません。 一回目のクリックでリストを配置したいのですが、何が問題なんでしょうか? Excel2003 Windows Xp です。 よろしくご教示下さい。

専門家に質問してみよう