Open Statement

開啟一個資料通道。

語法

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

參數:

檔案名稱:您要開啟的檔案名稱與路徑。如果您嘗試讀取的檔案不存在 (存取權限 = 讀取),則會出現一則錯誤訊息。如果您嘗試寫入的檔案不存在 (存取權限 = 寫入),則會建立新的檔案。

模式:指定檔案模式的關鍵字。有效值: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