大家好,,我們今日繼續(xù)講解VBA代碼解決方案的第127講內(nèi)容:VBA如何打開和讀取順序文件。VBA在控制文件的時候,,打開和讀取是最基本的操作,,今天開始及以后的幾講會講解這方面相關(guān)的內(nèi)容,今日講解的是VBA如何打開和讀取順序文件,。 一 什么是順序文件,,我們的電腦上有成百上千的參數(shù)文件,錯誤日志,,HTML文件以及所有類型的無格式文本文件,,這些都是順序文件,。 順序文件的特點:① 新文本行的開始以兩個專門的字符表示,一個carriage return (回車),,另一個叫l(wèi)ine feed(換行),。 ②訪問它里面的記錄時必須按它的順序進行,這意味著在你想訪問第三個記錄之前,,你必須先訪問第一個記錄,,接著是第二個記錄。 二 如何打開順序文件 要從一個文件讀取數(shù)據(jù),,必須先使用Open語句打開該文件,。 語法:Open pathname For mode [Access access][lock] As [#]filenumber [Len=reclength] 參數(shù): ① Pathname是你要打開的文件名稱,可以包括驅(qū)動器和文件夾名稱 ② Mode是個決定文件如何打開的關(guān)鍵字,。順序文件可以以下列模式之一來打開:Input, Output 或Append,。使用Input讀文件,Output寫文件,,將覆蓋任何存在的文件,,以及Append來寫入文件,同時附加上任何已經(jīng)存在的信息,。 ③ Access是決定決定文件讀寫的關(guān)鍵字,Access可以是:Shared(共享),,Lock Read(鎖定讀),,Lock Write(鎖定寫)或Lock Read Write(鎖定讀寫)。 ④ Lock決定了哪些文件的操作是允許其它過程進行的,。例如,,Read, Write 或者 Read Write。 ⑤ Filenumber是從1到511的數(shù)字,,該數(shù)字用來指向順序操作中的文件,。一個唯一的文件號碼。 ⑥ reclength明確順序文件里總字符數(shù),,或者是隨機文件里記錄大小,。 例; Open ' E:\nz\work\文章\人員表單.txt' For Input As #1 三 如何讀取文件內(nèi)容 在打開順序文件后,你就可以使用Line Input #讀取文件的內(nèi)容,。 語法: Line Input #filenumber, variableName 其中filenumber是用Open語句打開文件時使用的數(shù)字,,variableName是個String或者Variant變量,用來儲存讀取的行,。 注意點: 1此語句僅讀取一個打開的順序文件里的一行,。并且儲存在一變量里。 2 此語句一次讀取順序文件里的一行的概念:首個字符或者或者在新行的起始字符開始,,直到遇到回車字符(Chr(13))或者回車-換行字符(Chr(13) & Chr(10))為止稱之為一行,。(Chr(13) & Chr(10))這些字符(回車,,換行)在讀取過程中返回的文本里是會忽略掉的。 下面我們看一個實例的而講解: Sub MynzReadMe() Dim myrLine As String Dim i As Integer ' line number i = 1 Open 'E:\nz\work\文章\人員表單.txt' For Input As #1 Do While Not EOF(1) Line Input #1, myrLine MsgBox 'Line ' & i & ': ' _ & Chr(13) & Chr(13) & myrLine i = i + 1 Loop MsgBox i & ' lines ok' Close #1 End Sub 代碼截圖: 代碼講解:過程MynzReadMe將文件E:\nz\work\文章\人員表單.txt在模式Input里作為文件號碼1打開,。Do…While循環(huán)告訴VBA一直執(zhí)行循環(huán)里面的語句,直到到達文件結(jié)尾,。文件的結(jié)尾由函數(shù)EOF的結(jié)果決定,。 Line Input # 語句將每行內(nèi)容儲存于變量myrLine里,然后,,信息框顯示行號和它的內(nèi)容,。 大家先看看E:\nz\work\文章\人員表單.txt 的文件內(nèi)容:可以看出此文件一共是10行。 下面我們看看程序的運行: 一直到: 今日內(nèi)容回向: 1 什么是順序文件,? 2 順序文件如何讀取,? 3 上面的截圖最后的對話框為什么顯示的是11行呢,?(變量i在最后有個加1的動作) |
|
來自: 網(wǎng)摘文苑 > 《VBA》