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

簡易なコードで
 ・テキストファイルの行数を取得
できます!

PR

VBAコード

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

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, 8).Line
    
    MsgBox "ファイルの行数は「" & lineCount & "」です。"
    
    '後片付け
    Set fso = Nothing
    
End Sub

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

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

エラーメッセージ

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

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

PR

実行結果

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

実行結果
PR

参考

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

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


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

タイトルとURLをコピーしました