• ベストアンサー

テキストファイルのレコード件数

「FileCopy」関数のように自分でカウントすることなく テキストファイルの件数を知ることはできませんか

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

FileSystemObjectが使える環境なら Dim Fso    As New FileSystemObject Dim ReCnt  As Long ReCnt = Fso.GetFolder("c:\フォルダのフルパス\*.TXT").Files.Count でReCntに個数を取得できます。しかしこれもフォルダを取得してテキストを自分でカウントするのですが。 こういう事ではないのでしょうか。

akaoni_nai
質問者

お礼

こういうことですが、 オブジェクトがうまく生成できません。もう少し試してみます ありがとうございます

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

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

akaoni_nai
質問者

お礼

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)
回答No.2

Recordset.RecordCount

akaoni_nai
質問者

お礼

どう、コーディングすればいいのか・・ 初心者なものでまったく、わかりません。 でも、回答ありがとうございました

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>「FileCopy」関数のように というのがよくわかりませんが、読んでみないことには、レコード件数は、わかりません。 外部ツールでwc が使えれば、 wc -l textfile.txt のような感じで数えられるかもしれませんが、結局ファイルを読んでいるのは変わりません。

akaoni_nai
質問者

お礼

ぐるぐる、読んでカウントするのではなく 1行でコーディングをしたかったのでした ありがとうございます

関連するQ&A