1、Open 語句
打開方式有
Input:以讀取方式打開。
Output:以寫入方式打開。
Append:以追加方式,即添加内容到檔案末尾打開。
Binary:以二進制方式打開。
Random:以随機方式打開,如果未指定方式,則以 Random 方式打開檔案。
Open pathname For mode As [#]filenumber
Open "c:\a.txt" For Output As #1
filenumber 是一個有效的檔案号,範圍在 1 到 511 之間。
如果 pathname 指定的檔案不存在,那麼,在用 Append、Binary、Output、或 Random 方式打開檔案時,可以建立這一檔案。
2、Close 語句
文法:Close [filenumberlist]
filenumberlist 參數為一個或多個檔案号,若省略 filenumberlist,則将關閉 Open 語句打開的所有活動檔案。
說明:打開檔案後,必須在使用完後關閉檔案。
3、EOF 函數
文法:EOF(filenumber)
功能:傳回一個 Integer,它包含 Boolean 值 True,表明已經到達為 Random 或順序 Input 打開的檔案的結尾。
Open "c:\a.txt" For Input As #1 ‘以讀入方式打開c:\a.txt
Do While Not EOF(1) '未到達結尾
Line Input #1, s1 '讀入一行,放入s1變量中
Loop
Close #1
4、LOC 函數
文法:LOC(filenumber)
功能:傳回一個 Long,在已打開的檔案中指定目前讀/寫位置。
Dim MyLocation, MyLine
Open "TESTFILE" For Binary As #1 ' 打開剛建立的檔案。
Do While MyLocation < LOF(1) ' 循環至檔案尾。
MyLine = MyLine & Input(1, #1) ' 讀入一個字元到變量中。
MyLocation = Loc(1) ' 取得目前位置。 ' 在立即視窗中顯示。
Debug.Print MyLine : Tab : MyLocation Loop Close #1 ' 關閉檔案。
5、Input # 語句
文法:Input #filenumber, varlist
功能:從已打開的順序檔案中讀出資料并将資料指定給變量。 (有文字中有不在引号中的,會被認為是分隔符)
說明:通常用 Write # 将 Input # 語句讀出的資料寫入檔案。為了能夠用 Input # 語句将檔案的資料正确讀 入到變量中,在将資料寫入檔案時,要使用 Write # 語句而不使用 Print # 語句。使用 Write # 語句 可以確定将各個單獨的資料域正确分隔開。
6、Line Input # 語句
文法:Line Input #filenumber, varname
功能:從已打開的順序檔案中讀出一行并将它配置設定給 String 變量。
說明:通常用 Print # 與 Line Input # 語句配合使用。Line Input # 語句一次隻從檔案中讀出一個字元, 直到遇到回車符 (Chr(13)) 或回車–換行符 (Chr(13) + Chr(10)) 為止。回車–換行符将被跳過, 而不會被附加到字元串上。
文法:Input(number, [#]filenumber),其中number 指定要傳回的字元個數。 功能:傳回 String,它包含以 Input 或 Binary 方式打開的檔案中的字元。 說明:通常用 Print # 或 Put 将 Input 函數讀出的資料寫入檔案。Input 函數隻用于以 Input 或 Binary 方式打開的檔案。 與 Input # 語句不同,Input 函數傳回它所讀出的所有字元,包括逗号、回車符、空白列、 換行符、引号和前導空格等。 示例: Dim MyChar,s1 Open "C:\test.txt" For Input As #1 Do While Not EOF(1) ' 循環至檔案尾。 MyChar = Input(1, #1) ' 讀入一個字元。 s1=Input(EOF(1), #1) '一次讀入全部 Debug.Print MyChar ' 顯示到立即視窗。 Loop Close #1
8、Write # 語句
文法:Write #filenumber, [outputlist] 功能:将資料寫入順序檔案。 如果省略 outputlist,并在 filenumber 之後加上一個逗号,則會将一個空白行列印到檔案中。 多個表達式之間可用空白、分号或逗号隔開。空白和分号等效。 與 Print # 語句不同,當要将資料寫入檔案時,Write # 語句會在項目和用來标記字元串的引号之間插入逗号。
文法:Print #filenumber, [outputlist]
outputlist 參數的設定如下:
[{Spc(n) | Tab[(n)]}] [expression] [charpos]
Spc(n) 用來在輸出資料中插入空白字元,而 n 指的是要插入的空白字元數。
Tab(n) 用來将插入點定位在某一絕對列号上,這裡,n 是列号。使用無參數的 Tab 将插入點定位在
下一個列印區的起始位置。
expression 要列印的數值表達式或字元串表達式。
charpos 指定下一個字元的插入點。使用分号将插入點定位在上一個顯示字元之後。用 Tab(n) 将
插入點定位在某一絕對的列号上,用無參數的 Tab 将插入點定位在下一個列印區的起始處。如果省略
charpos,則在下一行列印下一個字元。
Open "F:\test.txt" For Output As #1 ' 打開輸出檔案。
Print #1, "This is a test" ' 将文本資料寫入檔案。
Print #1, ' 将空白行寫入檔案。
Print #1, "Zone 1"; Tab; "Zone 2" ' 資料寫入兩個區(print zones)。
Print #1, "Hello"; " "; "World" ' 以空格隔開兩個字元串。
Print #1, Spc(5); "5 leading spaces " ' 在字元串之前寫入五個空格。
Print #1, Tab(10); "Hello" ' 将資料寫在第十列。
讀入文本到數組
Sub test()
Dim a()
Dim i As Integer
x = CreateObject("scripting.FileSystemObject").OpenTextFile("c:\test.txt", 8).Line
ReDim a(x)
i = 0
Open "c:\test.txt" For Input As #1
Do While Not EOF(1) ' 循環至檔案尾
i = i + 1
Line Input #1, a(i) ' 讀入一行資料并将其賦予某變量
Loop
Close #1
End Sub