コンボボックスからデータを選ぶと、
自動的にある計算をしてその結果を返す
プログラムを作っています。
コンボボックスに表示するデータはCSV形式でテキストファイルとして保存しています。
例
1,aaa,1234
2,bbb,4352
3,ccc,1542
このCSV形式のデータの3列目をその後の計算に使用します。
Openコマンド、LineInputコマンドなど勉強しておりますが、
助言いただければうれしいです。
>助言いただければうれしいです。
まず、なにかしらコードを書いて動作させてみたらいかがでしょうか?
まず、入力するcsv形式のテキストファイルを作っておき、
そしてVB6.0でコンボボックスを作って、
以下のコードを書いてみました。
ですが、コンボボックスにタブが表示されず、
csv形式のファイルが一行に省略されて表示されてしまいました。
プルダウンメニューをしっかりと表示させたいです。
Private Sub Form_Load()
Open "C:\test.txt" For Input As #1
Dim A As String
Do While Not EOF(1)
Line Input #1, A
Combo1.SelText = A
Loop
Close #1
End Sub
VB6が手元に無いんで正確には言えませんが、
>Combo1.SelText = A
SelTextはコンボのアイテムIndexだったはず・・・
アイテムを追加するのは AddItem
>SelTextはコンボのアイテムIndexだったはず・・・
…微妙に違うかも。。。
SelText部分を選択状態にして[F1]キーを押してください。
ヘルプ(MSDN)が表示されます。
> SelText プロパティは、現在選択されているテキストを含む文字列を設定します。
初心者には表現が分かり難いと思いますが、テキストが表示されている
入力テキストボックス部の設定を行うという意味です。
プルダウンの中に格納されるアイテムを追加するには、
AddItem メソッドを使用してください。
SelText と同様に選択状態で[F1]キーを押せば説明が
ありますし、使用例へのリンクもあります。
>>Combo1.SelText = A
>SelTextはコンボのアイテムIndexだったはず・・・
ゴメンナサイ ウソでした
Private Sub Combo1_Click()
Dim strA As String
strA = Me.Combo1.Text ←選択されたアイテム(表示されている文字列)
'Me.Combo1.ListIndex ←選択されたアイテムのIndex
MsgBox (strA)
End Sub
今のところ下のようなコードを作りました。
頑張って、MsgBoxに計算結果が出るようにしなければなりません。
Private Sub Form_Load()
Open "C:\test.txt" For Input As #1
Dim wkBuf$
Do While Not EOF(1)
Line Input #1, wkBuf$
Combo1.AddItem wkBuf$
Loop
Close #1
End Sub
_______________________________
Private Sub Combo1_Click()
MsgBox "a"
End Sub
お礼が遅れました。
初さん、まずはさん、特攻隊長まるるうさんありがとうございます。
どうもありがとうございました。
Combo1.List(Combo1.ListIndex)
を用いることによって解決することができました。
ツイート | ![]() |