VBA 讀取/寫入文本文件
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)) 為止。回車–換行符將被跳過,而不會被附加到字符串上。
7、Input 函數
語法:Input(number, [#]filenumber),其中number 指定要返回的字符個數。
功能:返回 String,它包含以 Input 或 Binary 方式打開的文件中的字符。
說明:通常用 Print # 或 Put 將 Input 函數讀出的數據寫入文件。Input 函數只用於以 Input 或 Binary 方式打開的文件。
與 Input # 語句不同,Input 函數返回它所讀出的所有字符,包括逗號、回車符、空白列、換行符、引號和前導空格等。
示例:
Dim MyChar
Open "f:\test.txt" For Input As #1
Do While Not EOF(1) ' 循環至文件尾。
MyChar = Input(1, #1) ' 讀入一個字符。
Debug.Print MyChar ' 顯示到立即窗口。
Loop
Close #1
8、Write # 語句
語法:Write #filenumber, [outputlist]
功能:將數據寫入順序文件。
如果省略 outputlist,並在 filenumber 之后加上一個逗號,則會將一個空白行打印到文件中。多個表達式之間可用空白、分號或逗號隔開。空白和分號等效。
與 Print # 語句不同,當要將數據寫入文件時,Write # 語句會在項目和用來標記字符串的引號之間插入逗號。
9、Print # 語句
語法: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" ' 將數據寫在第十列。
————————————————
版權聲明:本文為CSDN博主「別逗了好么」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/hutuchongaini/java/article/details/44102861