アクセス上位ページ
 
最近の更新内容
(7)-e.EOF関数 ⇐ [PREV]
[NEXT] ⇒ (7)-g.ChDir、ChDrive

Excel VBA ≫ 2.関数リファレンス - ファイル・フォルダ操作(7)-f.FileLen、LOF関数

【ページ内リンク】

FileLen、LOF関数

FileLen関数は開かれていないファイルのサイズをバイト単位で返します。 この関数を開かれているファイルに使用すると、開かれる前のファイルサイズを返します。
LOF関数はOpen ステートメントを使用して開いたファイルのサイズをバイト単位で返します。



  • 【構文】
    FileLen ( PathName )

      【戻り値】 長整数型 (Long)

  • 引数名 省略 説明
    PathName × ファイルパス(絶対パスまたは相対パス)を表す文字列式を指定します。 相対パスを指定したときの基準はカレントフォルダになります。


  • 【構文】
    LOF ( FileNumber )

      【戻り値】 長整数型 (Long)

  • 引数名 省略 説明
    FileNumber × 任意の有効なファイル番号を表す整数型 (Integer) の数値を指定します。



  • FileLen、LOF関数の使用例
  • テキストファイルの更新前、更新中、更新後のファイルサイズを取得して、 イミディエイトウィンドウへ表示する例です。 サンプルで使用したテキストファイルには、 改行コード(vbCr + vbLf)
    2バイトが各行に含まれています。
    Sub sample_ef07b_01()
        Dim FileNumber      As Integer
        Dim FilePath        As String
        Dim i               As Integer
    
        '使用可能なファイル番号を取得します。
        FileNumber = FreeFile
    
        '入力ファイルパスの設定
        FilePath = ThisWorkbook.Path & "\test_ef07b_01.txt"
    
        '入力ファイルの存在チェック
        If Dir(FilePath) = "" Then
            MsgBox "入力ファイルが存在しません。", vbCritical
            '入力ファイルがない場合はここで処理を終了
            End
        End If
    
        'ファイルサイズをイミディエイトウィンドウへ出力
        Debug.Print "更新前:" & FileLen(FilePath) & " Byte"
    
        'テキストファイルを追加出力モードで開きます。
        Open FilePath For Append As #FileNumber
    
        For i = 1 To 5
            Print #FileNumber, CStr(i)
            'ファイルサイズをイミディエイトウィンドウへ出力
            Debug.Print "更新中:i = " & i & "  " & LOF(FileNumber) & " Byte"
        Next i
    
        Close #FileNumber
    
        'ファイルサイズをイミディエイトウィンドウへ出力
        Debug.Print "更新後:" & FileLen(FilePath) & " Byte"
    End Sub
    
    ⇒ サンプルマクロ集 へ

    <sample_ef07b_01 実行前> sample_ef07b_01実行前 <sample_ef07b_01 実行結果> sample_ef07b_01実行結果 <実行結果(イミディエイトウィンドウ)>
    更新前:5 Byte
    更新中:i = 1  8 Byte
    更新中:i = 2  11 Byte
    更新中:i = 3  14 Byte
    更新中:i = 4  17 Byte
    更新中:i = 5  20 Byte
    更新後:20 Byte
    

カテゴリ内ページ
Excel VBA 〜 総目次 〜
- 2.関数リファレンス
--- (7)-a.Dir関数
--- (7)-b.GetAttr関数
--- (7)-c.CurDir関数
--- (7)-d.FreeFile関数
--- (7)-e.EOF関数
--- (7)-f.FileLen、LOF関数
--- (7)-g.ChDir、ChDrive
--- (7)-h.Name
--- (7)-i.FileCopy
--- (7)-j.Kill
--- (7)-k.MkDir、RmDir



Page
Top