- ベストアンサー
テキストファイルのレコード件数
「FileCopy」関数のように自分でカウントすることなく テキストファイルの件数を知ることはできませんか
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
FileSystemObjectが使える環境なら Dim Fso As New FileSystemObject Dim ReCnt As Long ReCnt = Fso.GetFolder("c:\フォルダのフルパス\*.TXT").Files.Count でReCntに個数を取得できます。しかしこれもフォルダを取得してテキストを自分でカウントするのですが。 こういう事ではないのでしょうか。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
vbCrLfの数を数える。FSOを使ってやってみました。 Sub test01() Dim fs As Object, ts As Object Set fs = CreateObject("Scripting.FileSystemObject") Set ts = fs.OpenTextFile("C:\Documents and Settings\XXXX\My Documents\YYYYY.txt") If ts.AtEndOfStream = False Then s = ts.readall MsgBox s n = Split(s, vbCrLf) MsgBox UBound(n) End If ts.Close: Set ts = Nothing Set fs = Nothing End Sub
お礼
No.3 O cyanの回答にもありました「FileSystemObject」のGetFolderはどうやっても例外エラーになりました。 以下の方法で求めることができました。 皆さん、いろいろありがとうございました Dim objFso As Scripting.FileSystemObject Dim FsoTS As Scripting.TextStream Dim ReCnt As Long objFso = CreateObject("Scripting.FileSystemObject") FsoTS = objFso.OpenTextFile("C:\Documents and Settings\XXXX\My Documents\YYYYY.txt"), Scripting.IOMode.ForAppending) ReCnt = FsoTS.Line FsoTS.Close() FsoTS = Nothing
- fortranxp
- ベストアンサー率26% (181/684)
Recordset.RecordCount
お礼
どう、コーディングすればいいのか・・ 初心者なものでまったく、わかりません。 でも、回答ありがとうございました
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>「FileCopy」関数のように というのがよくわかりませんが、読んでみないことには、レコード件数は、わかりません。 外部ツールでwc が使えれば、 wc -l textfile.txt のような感じで数えられるかもしれませんが、結局ファイルを読んでいるのは変わりません。
お礼
ぐるぐる、読んでカウントするのではなく 1行でコーディングをしたかったのでした ありがとうございます
お礼
こういうことですが、 オブジェクトがうまく生成できません。もう少し試してみます ありがとうございます