項目

ファイルの読み書き

概要

例はテキストファイルの読み書きです。

'--------------------------------------------------------------------------------
'【構文】
' Open パス For モード [Access アクセス] [ロック] As #fileno [Len=レコード長]
'
' ≪引数≫
'   モード  :   Append、Binary、Input、Output、Random
'   アクセス:   Read、Write、Read Write
'   ロック  :   Shared、Lock Read、Lock Write、Lock Read Write
'------------------------------------------------------------------------

'------------------------------------------------------------------------
'【入出力に関するキーワード】使用時に自分で調べてください
'------------------------------------------------------------------------
'   ファイルの操作/作成     Open
'   ファイルのクローズ      Close, Reset
'   出力形式の制御          Spc, Tab, Width #
'   ファイル情報の取得      EOF, FreeFile, Loc, LOF, Seek
'   ファイルの操作          Lock, Unlock
'   ファイルの読込          Get, Input, Input #, Line Input #
'   ファイルへの書込        Print #, Put, Write #
'   ファイルの長さの取得    FileLen
'   ファイルの読込/書込位置 Seek
'-----------------------------------------------------------------------

'-----------------------------------------------------------------------
'   【アクセスの種類】| 【 データの書き込み】 | 【 データの読み取り】
'-----------------------------------------------------------------------
'   シーケンシャル    |  Print #, Write #     |   Input #
'   ランダム          |  Put                  |   Get
'   バイナリ          |  Put                  |   Get
'-----------------------------------------------------------------------

'ファイルの読込
Sub FileRead()

    Dim fnum       As Long
    Dim lineBuffer As String

    fnum = FreeFile

    'オープン
    Open "c:\temp\test.txt" For Input As #fnum
    
    '最後まで読む
    Do Until EOF(fnum)

        Line Input #fnum, lineBuffer        ' データ行を読み込みます。
        Debug.Print lineBuffer              ' イミディエイト ウィンドウに表示します。

    Loop

    'クローズ
    Close #fnum

End Sub

'ファイル書き込み
Sub FileWrite()
    
    Dim fnum As Long

    fnum = FreeFile

    'オープン
    Open "c:\temp\test.txt" For Output As #fnum
    
    '書き込み
    Print #fnum, "hogehoge"

    'クローズ
    Close #fnum

End Sub