VBA 讀取/寫入文本文件


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM