Contents
Index 🔎︎

# Open Statement

Mở một kênh dữ liệu.

## Cú pháp:

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

## Tham số :

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.

Mode: từ khoá mà ghi rõ chế độ tập tin. Giá trị hợp lệ: Append (phụ thêm vào tập tin dãy), Binary (nhị phân: dữ liệu có thể được truy cập theo byte dùng Get và Put), Input (nhập vào : mở một kênh để đọc), Output (xuất ra: mở một kênh dữ liệu để ghi) và Random (ngẫu nhiên: chỉnh sửa các tập tin tương đối).

IOMode: từ khoá mà xác định kiểu truy cập. Giá trị hợp lệ: Read (chỉ đọc), Write (chỉ ghi) và Read Write (cả hai).

Protected: từ khoá mà xác định trạng thái bảo mật của một tập tin đã mở. Giá trị hợp lệ: Shared (dùng chung: tập tin có thể được mở bằng ứng dụng khác), Lock Read (khoá đọc: tập tin được bảo vê chống đọc), Lock Write (khoá ghi: tập tin được bảo vệ chống ghi), và Lock Read Write (khoá đọc ghi: từ chối truy cập đến tập tin).

FileNumber: bất cứ biễu thức số nguyên nào từ 0 đấn 511 để ngụ ý số hiệu của một kênh dữ liệu còn rảnh. Vì vậy bạn có thể gửi lệnh qua kênh dữ liệu đó để truy cập đến tập tin. Số thứ tự tập tin phải được xác định bởi hàm FreeFile đúng trước câu lệnh Open (Mở).

DatasetLength: đối với các tập tin truy cập ngẫu nhiên, đặt chiều dài của các bản ghi.

Bạn chỉ có khả năng sửa đổi nội dung của một tập tin được mở bằng câu lệnh Open (Mở). Nếu bạn thử mở một tập tin đã mở, một thông điệp lỗi sẽ xuất hiện.

## Thí dụ :

    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