ファイルのサイズを返す - FileLen関数 [ExcelのVBA]
FileLen関数
FileLen関数はファイルのサイズを返します。
| 分類 | ファイル |
|---|
書式
FileLen(pathname)
| pathname | ファイルへのフルパス名 |
使用例
次はCドライブにある「test.txt」ファイルを読み込んだ例となります。
Private Sub CommandButton1_Click()
Dim fileNo As Integer ' ファイル番号
Dim buffer As String ' 一時的に文字列を格納
Dim Str As String ' ファイルの内容
Dim filename As String ' ファイル名
' 読み込むファイル名
filename = "C:\test.txt"
Debug.Print "ファイル名:" & filename
Debug.Print "最終更新日:" & FileDateTime(filename)
' ファイルの属性
Debug.Print "ファイルの属性に「通常ファイル」があります。"
If ((GetAttr(filename) And vbReadOnly) = vbReadOnly) Then
Debug.Print "ファイルの属性に「読み取り専用」があります。"
End If
If ((GetAttr(filename) And vbHidden) = vbHidden) Then
Debug.Print "ファイルの属性に「隠しファイル」があります。"
End If
If ((GetAttr(filename) And vbSystem) = vbSystem) Then
Debug.Print "ファイルの属性に「システムファイル」があります。"
End If
If ((GetAttr(filename) And vbDirectory) = vbDirectory) Then
Debug.Print "ファイルの属性に「フォルダ」があります。"
End If
If ((GetAttr(filename) And vbArchive) = vbArchive) Then
Debug.Print "ファイルの属性に「アーカイブ」があります。"
End If
If ((GetAttr(filename) And vbAlias) = vbAlias) Then
Debug.Print "ファイルの属性に「エイリアス」があります。"
End If
' ファイルを開く為のファイル番号を取得
fileNo = FreeFile
' 指定されたファイルを開く
Open filename For Input As #fileNo
' ファイルモード
Select Case FileAttr(fileNo)
Case 1: Debug.Print "ファイルモード:Inputモード"
Case 2: Debug.Print "ファイルモード:Outputモード"
Case 4: Debug.Print "ファイルモード:Randomモード"
Case 8: Debug.Print "ファイルモード:Appendモード"
Case 32: Debug.Print "ファイルモード:Binaryモード"
End Select
Debug.Print "LOFによるファイルサイズ取得:" & CStr(LOF(fileNo)) & "バイト"
Debug.Print "FileLenによるファイルサイズ取得:" & CStr(FileLen(filename)) & "バイト"
' ファイルがEOF(ファイルの終端)になるまでループをする
Do Until EOF(fileNo)
' ファイルの位置
Debug.Print "Seekによる現在位置取得:" & CStr(Seek(fileNo))
' ファイルから一行づつbufferに読み込む
Line Input #fileNo, buffer
' 読み込んだファイル内容を格納する
Str = Str + buffer + vbCrLf
Loop
Close #fileNo
Debug.Print ""
Debug.Print "--- 以下はファイル内容 ---"
Debug.Print Str
End Sub
結果
※UTF8に対応したファイルの読み込みは「ファイルの操作(Shift-JIS/UTF8対応)」の記事をご覧ください。
Visual Basicのファイル換関数
| 関数名 | 内容 |
|---|---|
| EOF | ファイルの現在位置が終端の場合にTrueを返す |
| FileAttr | オープンしたファイルのファイルモードを返す |
| FileDateTime | ファイルの作成日時または最終更新日時を返す |
| FileLen | ファイルのサイズを返す |
| FreeFile | ファイルをオープンする為のファイル番号を返す |
| GetAttr | ファイルやフォルダの属性を返す |
| Input/InputB | ファイルから指定文字数を読み込む |
| LOF | オープンしているファイルの長さを返す |
| Seek | オープンしているファイルの位置を返す |
エクセル講座のクイックリンク
スポンサーリンク
関連記事
| 前の記事: | ファイルの作成日時または最終更新日時を返す - FileDateTime関数 [ExcelのVBA] |
| 次の記事: | ファイルをオープンする為のファイル番号を返す - FreeFile関数 [ExcelのVBA] |
公開日:2015年07月08日
記事NO:01161
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |









