テキストファイルの行数を取得 |
テキストファイル(CSVファイル含む)の行数(件数)を瞬時に取得 (159) | |
使用する前に、[プロジェクト]→[参照設定]で Microsoft Scripting Runtime
の参照にチェックを入 れておいて下さい。 そして Form に CommandButton 1個と Label 1個を貼り付けておいて下さい。 |
|
テキストファイルのOpenはその他のオブジェクトでも操作できますが、ここではFileSystemObject
オブジェクトのOpenTextFileメソッドを使用します。OpenTextFileの構文は下記の通りです。 構文 object.OpenTextFile(filename, iomode, create, format) |
|
Option Explicit 'SampleNo=159 WindowsXP VB6.0(SP5) 2002.07.03 Private Sub Command1_Click() Dim Fso As New FileSystemObject Dim FsoTS As TextStream 'ファイルの末尾から書き込みモードで開きます Set FsoTS = Fso.OpenTextFile("test.txt", ForAppending) '現在のファイル ポインターの位置を行番号で取得します Label1.Caption = "ファイルの行数は " & FsoTS.Line & " 行です。" FsoTS.Close Set FsoTS = Nothing '下記でも取得できます。 Debug.Print CreateObject("Scripting.FileSystemObject"). _ OpenTextFile("C:\test.csv", ForAppending).Line - 1 End Sub |
|
ファイルをすべて読込む事なくテキストファイルの行数を取得できます。 従って、大きなファイルでも瞬時に取得する事ができます。又、CSVCSVファイルも上記のように 同様に行数(件数)を取得する事ができます。(CSVファイルの場合マイナス1します) 行数とはWord 等でも同じですが改行の数を取得しております。従って一番最後の文字を書き終 わった後で改行して保存すると1行多く取得しているかのように錯覚される方がおられます。 必要であればその辺の処理をして下さい。 |