[リストへもどる]
一括表示

投稿時間:2003/02/27(Thu) 13:25
投稿者名:runa
URL :
タイトル:
コンボボックスのリストに追加
始めまして。

ご質問させて頂きます。

コンボボックスのリストに追加するのは、
以下の方法で可能ですが、
Combobox.AddItem "あああ"
このリストを、textかExcelファイルから、
取得したいのです。
例えば、a.txtというファイルのデータが、
-------
あああ
いいい
ううう
-------
だった場合に、このファイルを読んで、

Combo1.AddItem "あああ"
Combo1.AddItem "いいい"
Combo1.AddItem "ううう"

上記と同じ意味にしたいのです。
当然、Excelでも構いません。
リストが、何百、何千とあった場合に、
全てCombo1.AddItemで書くのは大変なので。

また、リストが何千もある場合に、
コンボボックスをいくつか用意して、
大分類・中分類・小分類というように、
カテゴリ分けをしたいと考えております。

VB初心者で、わからないことだらけです。
どなたか御教授頂ければと思います。

投稿時間:2003/02/27(Thu) 14:00
投稿者名:これ
URL :
タイトル:
Re: コンボボックスのリストに追加
こんにちは。
他にもいろいろ手はあると思いますが
単にTextファイルを読んでComboに追加する場合は
こんな感じでしょうか。

Dim strBuff As String
FreeNo = FreeFile
Open "a.txt" For Input As #FreeNo
Do
    Line Input #FreeNo, strBuff

    Combo1.AddItem strBuff    
Loop Until Eof(FreeNo)
Close #FreeNo


分類分けして追加する場合
読み込みファイルの先頭1文字が必ず分類の区分として
"1あああ"
"1いいい"
"2ううう"
"3えええ"
先のAddItem部分に条件分岐を付けます。

Select Case Left$(strBuff, 1)
    Case "1"
        Combo1.AddItem Mid(strBuff, 2)
    Case "2"
        Combo2.AddItem Mid(strBuff, 2)
    Case "3"
        Combo3.AddItem Mid(strBuff, 2)
    Case Else
End Select

Excel使用の場合はこちらのサイト左のメニューから
「Excel&Word関係」を見て
VBからExcelを操作する場合のあれこれを参考に
Textファイルの読み込み部分を置き換えればいけると思います。