トップ  >  サンプルソース  >  ファイル行数取得(VBA)

ファイル行数取得(VBA)

2010年08月20日

Aカラムに記述したファイルPATH一覧に対し、
Bカラムに各ファイルの行数を出力するサンプル(ソース/コード)です。

ファイルの行数はFileSystemObjectのOpenTextFileを使用すると
TextStreamのLineで簡単に取得出来ます。
但し、文字コードや改行コードに注意する必要があります。

' -----------------------------------------------------------
' 各ファイルの行数を取得のサンプル(EXCEL VBA)
' Aカラムに記述したファイルPATHに対しBカラムに行数を出力
Private Sub CommandButton1_Click()
    ' FileSystemObjectの参照設定が必要
    ' [ツール]→[参照設定]→[Microsoft Scripting Runtime]
    Dim fts As TextStream
    Dim fso As FileSystemObject
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    ' 各ファイルの行数をBカラムの行番号(1以降)に書き込む
    Dim i As Long: i = 1
    Do
        ' Aカラムの行番号(1以降)からファイルPATH取得
        ' ファイルPATHが無ければ終了
        Dim fpath As String: fpath = Range("A" & i)
        If fpath = "" Then Exit Do
        
        ' ファイルの行数をクリア
        Range("B" & i) = ""
        
        If fso.FileExists(fpath) Then
            ' ファイルが存在する時の処理
            
            ' ファイルの行数取得(条件:SJIS、CRLF)
            Dim lc As String: lc = "0"
            If fso.GetFile(fpath).Size > 0 Then
                Set fts = fso.OpenTextFile(fpath, ForReading)
                fts.ReadAll
                lc = fts.Line
                fts.Close
                Set fts = Nothing
            End If
            
            ' ファイルの行数を書き込む
            Range("B" & i) = lc
        End If
        
        i = i + 1
    Loop While (True)

    ' FileSystemObjectの終了
    Set fso = Nothing
End Sub
' -----------------------------------------------------------
スポンサーサイト

自慢は高速シッポ振り | トップページへ戻る | 食べるの専門だワン

このページのトップに戻る

コメント

名前
題名
メールアドレス
WEBサイト
 
コメント
パスワード
  管理者にだけ表示を許可する

このページのトップに戻る

トラックバック

このページのトップに戻る