ファイルをオープンする為のファイル番号を返す - FreeFile関数 [ExcelのVBA]
FreeFile関数
FreeFile関数はファイルをオープンする為のファイル番号を返します。
分類 | ファイル |
---|
書式
FreeFile[(rangenumber)]
rangenumber | (省略可能)ファイル番号の範囲を指定する。0(既定)の場合は1-255の番号を返す。1の場合は256-511の番号を返す。 |
使用例
次は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 | オープンしているファイルの位置を返す |
エクセル講座のクイックリンク
スポンサーリンク
関連記事
公開日:2015年07月08日
記事NO:01162