Module
Contents
Index 🔎︎

# Open Statement

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

## 構文:

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

## パラメーター:

FileName: Name and path of the file to open. If you try to read a file that does not exist (Access = Read), an error message appears. If you try to write to a file that does not exist (Access = Write), a new file is created.

モード: ファイルモードを指定するキーワード。有効な値: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