Open Statement

データチャネルを開きます。

構文:

Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]

パラメーター:

ファイル名:開こうとするファイルの名前とパス。存在しないファイルを読み取ろうとすると (Access = Read)、エラーメッセージが表示されます。存在しないファイルを書き込もうとすると (Access = Write)、新しいファイルが作成されます。

モード: ファイルモードを指定するキーワード。有効な値:Append (順編成ファイルに追加する)、Binary (データは、Get および Put を使用してバイトによってアクセスできる)、Input (読み取り用のデータチャネルを開く)、Output (書き込み用のデータチャネルを開く)、および Random (関連ファイルを編集する)。

IOMode: アクセスの種類を定義するキーワードです。有効な値には、Read (読み取り専用)、Write (書き込み専用)、Read Write (読み取りと書き込み) があります。

Protected:オープン後のファイルのセキュリティステータスを指定するキーワード。これには下記の値を指定できます。Shared (ファイルを他のアプリケーションでも開けるようにする)、Lock Read (ファイルを読み取り保護する)、Lock Write (ファイルを書き込み保護する)、Lock Read Write (ファイルアクセスを禁止する)。

FileNumber:使用可能なデータチャネル番号を示す 0 から 511 までの整数表式。オープン後のファイルに対しては、データチャネルを通じてアクセスコマンドを渡せます。ファイル番号は、Open ステートメントの直前で FreeFile 関数を実行して取得する必要があります。

DatasetLength: ランダムアクセスファイル用にレコード長を設定します。

注マーク

内容を変更できるファイルは、Open ステートメントでオープンしたファイルだけです。オープン済みのファイルを再度オープンしようとすると、エラーメッセージが表示されます。


例:

Sub ExampleWorkWithAFile

Dim iNumber As Integer

Dim sLine As String

Dim aFile As String

Dim sMsg As String

    aFile = "c:\data.txt"

    iNumber = Freefile

    Open aFile For Output As #iNumber

    Print #iNumber, "This is a line of text"

    Print #iNumber, "This is another line of text"

    Close #iNumber

    iNumber = Freefile

    Open aFile For Input As iNumber

    While Not eof(iNumber)

        Line Input #iNumber, sLine

        If sLine <>"" Then

            sMsg = sMsg & sLine & chr(13)

        End If

    Wend

    Close #iNumber

    MsgBox sMsg

End Sub