VB 如何删除 txt 文件中指定字符(加分)

条件:1、一个文件夹下有很多“.txt”文件2、每个文件中都有一句或几句“abc=1234;”,其中“1234”每个地方都确定是几位数字要求:将每个文件中的“abc=??... 条件:
1、一个文件夹下有很多“.txt”文件
2、每个文件中都有一句或几句“abc=1234;”,其中“1234”每个地方都确定是几位数字

要求:
将每个文件中的“abc=???;”删除,保存。

求高手指点,答好加分,谢谢
写错了,
其中“1234”每个地方都 不 确定是几位数字
展开
 我来答
crazy0qwer
2013-01-11 · TA获得超过3301个赞
知道大有可为答主
回答量:4020
采纳率:71%
帮助的人:1333万
展开全部
多写但点文字,不然提交失败 o(︶︿︶)o !!!

Option Explicit
Private Sub Command1_Click()
Dim Arr() As String
Dim a As Boolean, i As Long
Dim FileNumber, Str
Dim Sum As Long '替换次数
Dim Str1 As String '要替换的字符
Dim A1 As Long '需要替换的字符出现的位置
a = SearchFiles("E:\新建文件夹 (2)\", "*.txt", Arr) '调用函数获取目录下所有txt文件 注意目录后面有斜杠!!!

If a Then '如果找到文件
For i = 0 To UBound(Arr) '循环更改读取到的文件
FileNumber = FreeFile
Open Arr(i) For Input As #FileNumber '读取文件内容
Str = StrConv(InputB(LOF(FileNumber), 1), vbUnicode)
Close #FileNumber
A1 = InStr(Str, "abc=") '查找
If A1 <> 0 Then '如果找到
Str1 = Mid(Str, A1, 9) '截取A1开始的九个字符
Sum = Sum + 1 '统计替换的次数数
Str = Replace(Str, Str1, "") '替换截取到的字符
FileNumber = FreeFile
Open Arr(i) For Output As #FileNumber '替换完成 重新写入
Print #FileNumber, Str
Close #FileNumber
End If
Next
MsgBox " 替换完成 " & vbCrLf _
& "共找到 " & UBound(Arr) - 1 & " 个文件" & vbCrLf _
& "共替换 " & Sum & " 个文件"
Else
MsgBox " 该目录下没有 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) '查找第一个文件
Do While Len(sPath) '循环到没有文件为止
ReDim Preserve Arr(0 To a)
Arr(a) = Path & sPath '将文件目录和文件名组合,并存放到数组中
SearchFiles = True
a = a + 1
sPath = Dir() '查找下一个文件
DoEvents '让出控制权
Loop
End Function
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式