テキストファイルをコンボボックスに表示するには?

解決


KENJI  2004-01-14 04:45:25  No: 111260

"1","あ","A"
"2","い","B"
"3","う","C"
"4","え","D"
"5","お","E"

上記のようにカンマで3列づつに区切られたテキストファイル(.txt)を、
3つのコンボボックスに表示するにはどのようにしたらいいのでしょうか?
例えば、combo1で"4"が選択されたらcombo2で"え"が、combo3で"D"が表示するようにしたいんです。
なおテキストファイルは随時追加するので、行数はいくつになるか分かりません。
とても基本的なのかもしれませんが、どなたか分かる方教えてください。
よろしくお願いします。


魔界の仮面弁士  2004-01-14 07:21:21  No: 111261

> 上記のようにカンマで3列づつに区切られたテキストファイル(.txt)を、
> 3つのコンボボックスに表示するにはどのようにしたらいいのでしょうか?

1. テキストファイルの内容を取得する。
2. コンボボックスにデータを登録する。

という処理が必要になります。わからないのは、どちらでしょうか?

例えば後者(データの登録方法)であれば…
VB.NETの場合は、「ComboBox1.Items.Add(データ)」で、
VB6の場合は、「Combo1.AddItem データ」で登録できます。

> combo1で"4"が選択されたらcombo2で"え"が、combo3で"D"が表示するようにしたいんです。
「選択された時」に発生するイベントで、他のコンボボックスの
「選択している行」を表すプロパティを変更すればOKです。

VB.NETの場合は、SelectedIndexChangedイベントとSelectedIndexプロパティ、
VB6の場合は、ClickイベントとListIndexプロパティを使ってみてください。


KENJI  2004-01-14 08:37:57  No: 111262

わからないのはどちらかというと前者です。
http://www.g.dendai.ac.jp/lecture/vbasic/vb10.html
上記のホームページにあるように(私がやりたいのは表形式ではなくコンボボックスに表示ですが)
Do Until〜Loopの形式で、Input関数を用いてやればいいと思うのですが、
よく理解ができません。
その辺りを教えていただけませんか?

使用環境:VB6.0


魔界の仮面弁士  2004-01-14 08:46:53  No: 111263

イメージとしては、こんな感じになるかと。
必要に応じて、エラーチェック処理や変数宣言等を追加してみてください。

FNo = FreeFile()
Open ファイル名 For Input As #FNo
Do Until EOF(FNo)
  Input #FNo, strA, strB, strC
  Combo1.AddItem strA
  Combo2.AddItem strB
  Combo3.AddItem strC
Loop
Close #FNo


KENJI  2004-01-15 01:49:57  No: 111264

説明の通りにやったら無事できました。
この度は教えていただき本当にありがとうございました。


かおり  2004-05-28 06:40:26  No: 111265

上記と同じような質問になるかと思いますが、教えてください。

私の場合、CSVファイルから表示させたいのですが、、、

    MyFile = "C:\WINDOWS\デスクトップ\会社\test\test.csv"
    MyFile = FreeFile
    Open "C:\WINDOWS\デスクトップ\会社\test\test.csv" For Input As #MyFile
    Do Until EOF(MyFile)
       Input #MyFile, str名前 
       Combo1.AddItem str名前
    Loop
    Close #MyFile

というようなコードを書きました。でもコンボボックスには表示されません。

困っていますので、すみませんが教えてください。よろしくお願いします。


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

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






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