【VBA】テキストファイルの行数を取得する

VBAで
 ・テキストファイルの行数を取得
できます!

PR

VBAコード

ここでは例として、
 ・デスクトップ配下のファイル「aiueo.txt」の
 ・行数を取得
します。

aiueo.txtの内容(5行ある)
aiueo.txtの内容(5行ある)
Option Explicit

Sub sample()
    
    Dim fso As Object
    Dim fileName As String
    Dim lineCount As Long
    
    'ファイルのパスを指定
    fileName = "C:\Users\user\Desktop\aiueo.txt"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    'ファイルの行数を取得
    lineCount = fso.OpenTextFile(fileName:=fileName, iomode:=8).Line
    
    MsgBox "ファイルの行数は「" & lineCount & "」です。"
    
    '後片付け
    Set fso = Nothing
    
End Sub

「FileSystemObject」の「OpenTextFile」メソッドの引数「iomode」に、「8:追記モード」を指定して、ファイルを開きます(15行目)。
※「TextStreamオブジェクト」を取得します。

「8:追記モード」で開くため、ファイルが開かれている or 読み取り専用だと以下のエラーになります。

エラーメッセージ
エラーメッセージ

「TextStreamオブジェクト」の「Line」プロパティにより、「現在の行番号(=行数)」を取得します(15行目)。

「txtファイル」だけでなく、「csvファイル」でも行数を取得できます。

PR

実行結果

テキストファイルの行数を取得できました。

実行結果
実行結果
PR

参考①

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●「FileSystemObject」の「OpenTextFile」メソッド


●「TextStreamオブジェクト」の「Lineプロパティ」

PR

参考②

PDFファイルやWordファイルのページ数を取得することもできます。

詳細は以下の記事をご確認ください。

●PDFファイルのページ数を取得


●Wordファイルのページ数を取得