VBA實(shí)現(xiàn)全文件快速替換的示例代碼
大家對(duì)于VBA處理文本文件并不陌生,Open打開文件,Line Input逐行讀取處理,然后再使用Print寫入到目標(biāo)文件,整個(gè)過程并不復(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 SubVBA內(nèi)置的打開文本文件的方法,并無法實(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行代碼打開源文件。
- 第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-02
VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)
本文主要介紹了VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08

