最新閲覧日:

こんばんは。

VBでcsv形式のファイルの一部を取り出したいのですが、
例えば、下の3 行、3 列のデータが CSV 形式で保存されているファイルで

First Name,Last Name,HireDate
Nancy,Davolio,10-22-91
Robert,King,10-23-91

その中の"Nancy"だけを取り出して、テキストボックスに入れたいのですが
一部だけ取り出すことってできるのでしょうか?
教えて下さい。
よろしくお願いします。

A 回答 (3件)

1行取出した後の文字の分割ですが、VB6なら


splitを使うと楽です。

dim strBuf() as string
dim
........
........


'strTextは、取出した1行
'カンマで分割
strBuf=split(strText,",")

'strBuf(0)などで使用できます。
どうでしょうこんなんで?
    • good
    • 1
この回答へのお礼

ご返事ありがとうございます。

splitがあるなんて知りませんでした。

早速参考にさせていただきます。

ありがとうございました。

お礼日時:2001/04/09 23:23

>CSVファイルを開いて1行目、2行目など行を指定して、内容を取り出すことも


>可能なのでしょうか?

こうしたらどうでしょう。

CSV形式ファイルを"file.csv"とします。

Dim aaa As String
Dim cnt As Long

Open "file.csv" For Input As #1

cnt = 0
Do While Not EOF(1)
Line Input #1, aaa
cnt = cnt + 1 '<-----何行目かを数える

Select Case cnt
'1行目の場合、テキストボックス1に設定
Case 1
Text1.Text = Left$(aaa, InStr(aaa, ",") - 1)
'2行目の場合、テキストボックス2に設定
Case 2
Text2.Text = Left$(aaa, InStr(aaa, ",") - 1)
'3行目の場合、テキストボックス3に設定
Case 3
Text3.Text = Left$(aaa, InStr(aaa, ",") - 1)
End Select
Loop

Close (1)
    • good
    • 0
この回答へのお礼

ご返事ありがとうございます。

詳しいご説明本当にありがとうございました。
すごくわかりやすくて、とても参考になりました。

教えていただいたのをもとに、プログラムを完成することができました。

お礼日時:2001/04/09 23:30

Dim aaa As String


aaa = "Nancy,Davolio,10-22-91"
Text1.Text = Left$(aaa, InStr(aaa, ",") - 1)

これでテキストボックスに"Nancy"という文字が入ります。
あとはこれを応用すればできます。

この回答への補足

ご返事ありがとうございます。

Left$()関数を使う方法があったんですね。
そうしたら、
CSVファイルを開いて1行目、2行目など行を指定して、内容を取り出すことも
可能なのでしょうか?

補足日時:2001/04/09 00:02
    • good
    • 0

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

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報

カテゴリ