打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VB 如何删除 txt 文件中指定字符
条件:
1、一个文件夹下有很多“.txt”文件
2、每个文件中都有一句或几句“abc=1234;”,其中“1234”每个地方都确定是几位数字

要求:
将每个文件中的“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 '替换次数
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,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
文件夹目录生成,文件夹自动生成目录
VBA_txt文件的写入
Excel-VBA操作文件四大方法之二
VBA语法概述
表头不同的Excel表格如何合并?
VBA代码如何打开顺序文件,又如何读取顺序文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服