プロが教える店舗&オフィスのセキュリティ対策術

テキストファイル1は、一行ごとの改行ファイルです。
tst1
tst2



テキストファイル2は、カンマ区切りです。
1,データ
2,データ



commboには、1と2の数字を追加で数字が選択されたらテキストファイルにデータを表示する。
フォームロード時にできればと思っています。

質問者からの補足コメント

  • Comboboxは2つ有ります。Combobox1に数字だけを追加したいのですが、可能でしょうか。

      補足日時:2017/02/09 02:16

A 回答 (2件)

まさか2種類のファイルが存在するとは思いませんでした。


改行ファイルは方が付いたようですので、カンマ区切りの方を

Dim datastrings As string
'先に  datastrings へカンマ区切りの全テキストを代入しておいてください。
’代入の方は大丈夫ですよね?改行と同じ処理でできるはずです。
’ただし、長さに制限はあったと思います。

Dim i As long
Dim dataarray As Variant
dataarray = Split( datastrings, ",") '区切り文字","で分けて配列を作成します。

for i=0 to Ubound(dataarray)
ComboBox2..AddItem dataarray(i) '配列化されたデータを順次追加します
’ComboBox2.Items.Add(dataarray(i)) でも可能かもしれませんが、当方使ったことがありません

next i

こんな感じでしょうか?
>フォームロード時にできればと思っています。
は、もう大丈夫ですよね?

>数字が選択されたらテキストファイルにデータを表示する。
Private Sub ComboBox2_Change() イベントでできませんでしょうか?
>テキストファイルにデータを表示する。
とは、特定の「テキストファイル」に選択されたデータを追加するという意味でしょうか?

当方ExcelでVBAは使用していますが、「Visual Basic」は現在もっていないので、多少のバグはお許しください。
不明な点は補足してくだされば、それなりに、対応できると思います。
    • good
    • 0
この回答へのお礼

教えて頂き有難う御座います。
現状は、Combobox2にテキストファイル1は出来ました。
問題はCombobox3に数字を追加にしテキストファイルにデータを入れるだけです。

お礼日時:2017/02/07 22:21

>数字だけを追加したいのですが、


改行毎に「1,データ」のような「数字,データ」というTextデータがある。
この「数字」部分のみを、Combobox1に追加したい。
というとですか?

Dim 数字_データ As string ’「数字,データ」
Dim 数字のみ As string ’追加したい「数字」。Stringにこだわる必要は無いと思います。

Do など:適切な方法で、loopまでの繰り返し、および終了をプログラミングしてください。

’テキストファイル1 と 同様に1行毎にTextに分割する
数字_データ = TextFile.ReadLine() 
’「数字,データ」から、数字のみを抽出する:いろいろな手法はありますが、前回のSplitを使っておきます。
数字のみ= Split(数字_データ, ",") (0) '","区切りで分割・配列化し、要素(0)を抽出する ※数字部分のみになっているはずです。
ComboBox1.AddItem 数字のみ ’ ComboBox1へその数字を追加する。 前の回答では"."が2個になっていましたね。私のミスです。1個にして下さい。

Loop

これでいけると思います。

勘違いしている点があれば、訂正してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!