VB6.0初心者です。
今、VB6.0にてCSVファイルの最終行に文字列があるかどうかを判別したい
のですが、「eofがある行の文字列の長さ」は取得できますでしょうか?
CSVの例を以下に記載します
---------------------------------
0001,AAA,BBB,CCC,10:12
0002,AAA,BBB,CCC,10:33
0003,[eof]
---------------------------------
こんな感じです。ようするに、「0003,」が存在する時は
その後に「AAA,BBB,CCC,10:40」みたいのをくっつけたいのですが、
10:33のうしろにeofがある場合や、0003,が無い状態では
エラーを返したいのです。
宜しくお願いします。
タイトルでは最終行の文字列長を取得したいとありますが、
やりたいことは、最終行の文字列の判定ですよね?
以下で最終行が取れますので、Instr()を使用するか、
Left()をしようするか、方法は多数あると思いますが
好きな方法で判定してください。
もし文字列長がとりたいなら、もちろんLen()ですね。
Dim fn As Integer
Dim path As String
Dim lin() As String
fn = FreeFile
path = "C:\test.txt"
lin = Split(vbNullString)
Open path For Input As #fn
Do While Not EOF(fn)
ReDim Preserve lin(UBound(lin) + 1)
Line Input #fn, lin(UBound(lin))
Loop
Close #fn
Debug.Print lin(UBound(lin))
ツイート | ![]() |