VBA實(shí)現(xiàn)全文件快速替換的示例代碼
大家對(duì)于VBA處理文本文件并不陌生,Open打開(kāi)文件,Line Input逐行讀取處理,然后再使用Print寫入到目標(biāo)文件,整個(gè)過(guò)程并不復(fù)雜,但是如果源文件數(shù)據(jù)行數(shù)較多,那么逐行讀取將花費(fèi)較多的時(shí)間。
Sub demo() FN1 = FreeFile Open OutFile For Output As FN1 FN2 = FreeFile Open InFile For Input As FN2 Do Until EOF(1) Line Input #1, textline '數(shù)據(jù)處理代碼 Print FN2, textline Loop Close FN2 Close FN1 End Sub
VBA內(nèi)置的打開(kāi)文本文件的方法,并無(wú)法實(shí)現(xiàn)讀取全部文件內(nèi)容,借助FileSystemObject可以實(shí)現(xiàn)一次性快速替換。
示例代碼如下
Sub ReplaceTxt() strSrcFile = "C:\temp\test.txt" strOldTxt = "c:\111\" strNewTxt = "d:\333\" Set fso = CreateObject("Scripting.FileSystemObject") Set objRead = fso.OpenTextFile(strSrcFile, 1) strIn = objRead.readall objRead.Close Set objWrite = fso.CreateTextFile(strSrcFile) objWrite.WriteLine Replace(strIn, strOldTxt, strNewTxt) objWrite.Close set fso = Nothing End Sub
【代碼解析】
- 第2行代碼指定源文件。
- 第3行代碼指定查找的字符串。
- 第4行代碼指定新字符串。
- 第5行代碼創(chuàng)建FSO對(duì)象。
- 第6行代碼打開(kāi)源文件。
- 第7行調(diào)用readall方法讀取全部文件內(nèi)容,保存在變量strIn中。
- 第8行代碼關(guān)閉源文件。
- 第9行代碼創(chuàng)建目標(biāo)文件。
- 第10行代碼調(diào)用Replace函數(shù)實(shí)現(xiàn)全文替換,并將結(jié)果寫入目標(biāo)文件中。
- 第11行代碼關(guān)閉目標(biāo)文件。
- 第12代碼實(shí)現(xiàn)對(duì)象變量占用的系統(tǒng)資源。
到此這篇關(guān)于VBA實(shí)現(xiàn)全文件快速替換的示例代碼的文章就介紹到這了,更多相關(guān)VBA文件替換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用vba實(shí)現(xiàn)將記錄集輸出到Excel模板
用vba實(shí)現(xiàn)將記錄集輸出到Excel模板...2007-02-02VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)
本文主要介紹了VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08