條件:
1、一個(gè)文件夾下有很多“.txt”文件
2、每個(gè)文件中都有一句或幾句“abc=1234;”,其中“1234”每個(gè)地方都確定是幾位數(shù)字
要求:
將每個(gè)文件中的“abc=???;”刪除,保存。
***********************************************************
Option Explicit
Private Sub Command1_Click()
Dim Arr() As String
Dim a As Boolean, i As Long
Dim FileNumber, Str
Dim Sum As Long '替換次數(shù)
Dim Str1 As String '要替換的字符
Dim A1 As Long '需要替換的字符出現(xiàn)的位置
a = SearchFiles("E:\新建文件夾 (2)\", "*.txt", Arr) '調(diào)用函數(shù)獲取目錄下所有txt文件 注意目錄后面有斜杠!!!
If a Then '如果找到文件
For i = 0 To UBound(Arr) '循環(huán)更改讀取到的文件
FileNumber = FreeFile
Open Arr(i) For Input As #FileNumber '讀取文件內(nèi)容
Str = StrConv(InputB(LOF(FileNumber), 1), vbUnicode)
Close #FileNumber
A1 = InStr(Str, "abc=") '查找
If A1 <> 0 Then '如果找到
Str1 = Mid(Str, A1, 9) '截取A1開(kāi)始的九個(gè)字符
Sum = Sum + 1 '統(tǒng)計(jì)替換的次數(shù)數(shù)
Str = Replace(Str, Str1, "") '替換截取到的字符
FileNumber = FreeFile
Open Arr(i) For Output As #FileNumber '替換完成 重新寫(xiě)入
Print #FileNumber, Str
Close #FileNumber
End If
Next
MsgBox " 替換完成 " & vbCrLf _
& "共找到 " & UBound(Arr) - 1 & " 個(gè)文件" & vbCrLf _
& "共替換 " & Sum & " 個(gè)文件"
Else
MsgBox " 該目錄下沒(méi)有 TXT 文件! "
End If
End Sub
Function SearchFiles(Path As String, FileType As String, ByRef Arr() As String) As Boolean
Dim a, b, c As Long
Dim sPath As String
sPath = Dir(Path & FileType) '查找第一個(gè)文件
Do While Len(sPath) '循環(huán)到?jīng)]有文件為止
ReDim Preserve Arr(0 To a)
Arr(a) = Path & sPath '將文件目錄和文件名組合,并存放到數(shù)組中
SearchFiles = True
a = a + 1
sPath = Dir() '查找下一個(gè)文件
DoEvents '讓出控制權(quán)
Loop
End Function
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。