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