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.

Biểu tượng Ghi chú

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

Please support us!