お世話になってます。ふくろーです。
早速ですが、aというファイルがあり、そのファイルの中身は
0,あああああ,c:\aaa
1,いいいいい,c:\bbb
2,ううう,
3,555555,
3,666666,
3,777777,
3,888888,
3,999999,
という風になっています。
ここから、”3,”が頭についている行の数字部分だけ(例えば"555555")
を抜き出し、コンボボックスで表示したいのです。
調べていくと、Split関数やらReadLineやら辺りを
使えばいいのかなと思うのですが、
二つをどう結びつけたらいいのかわかりません。
Dim fso, fileA
Set fso = CreateObject("Scripting.FileSystemObject")
Set fileA = fso.OpenTextFIle("c:\aaa", ForReading)
ここまで書いたんですが、この後、fileA.ReadLineで
読み込んだものから数字("555555"部分)をSplitで切り取って
Combo1.addItemで追加?
そもそもReadLineがよくわかっていないのですが、
複数行を繰り返し一行ずつ読んでいくことは可能なのでしょうか?
aというファイルから一行ずつ読めたとしても、
まだそこから必要な数字の部分だけを切り出さないといけません。。。
質問がまとまっていないので、分かりづらい部分もあるかと思いますが、
どなたかご教授下さい。。よろしくお願いします〜
コンパイラに任せたような曖昧な定義でなく、きっちり
変数を定義していれば簡単に理解できると思いますが…
ReadLine の戻り値は調べましたか?文字列が返ってきますので
好きなように加工してください。
CSV になってて形が決まってるなら InStr 関数と Mid 関数でも
できそうです。
そのあたりは過去ログにいくらでもありそうです。
[VB6.0]
Option Explicit
Dim fso As New FileSystemObject
Dim fileA As TextStream
Dim retString As String
If Dir("c:\aaa", vbNormal) <> "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fileA = fso.OpenTextFile("c:\aaa", ForReading)
With fileA
Do While .AtEndOfStream <> True
retString = .ReadLine
'[文字列の加工]
'[コンボボックスの項目追加]
Loop
.Close
End With
End If
毎回、ありがとうございます。
色々調べてみたんですが、わかりました!
FileSystemObjectのTextStream関連を調べて、
色々使ってみたらできました。
ありがとうございました。