文本操作 如何在查找到要的进行替换这一行的内容Sub load_next(oop1 As Boolean)

kbsssnlss 2008-01-05 02:25:39

我做的这个只能查找

Sub load_next(oop1 As Boolean)
strLine = FreeFile
Open App.Path & "\aa.txt" For Input As #strLine
Line Input #1, strLine
Dim aa1 As String
Dim aa2 As String
Dim aa21 As String
Dim aa4 As Byte
Dim aa3 As Byte
Dim aa5 As Byte
Dim aa6 As Byte
aa4 = 0
aa3 = 1
strLine = Replace(strLine, vbTab, " ")
For i = 1 To Len(strLine) - 1
aa2 = Mid(strLine, i, 1)
aa6 = i + 1
aa21 = Mid(strLine, aa6, 1)
Text2.Text = aa21
If aa2 = " " And aa21 <> " " Then
map(aa4) = Trim(Mid(strLine, aa3, aa5))

if map(aa4) = "我要找的内空" thwn      我想在当前这行替换这行的内容
aa3 = i + 1
aa4 = aa4 + 1
aa5 = 0
End If
aa5 = aa5 + 1
Next
If oop1 = False Then
load_NAME
Text1.Text = strLine
End If
Close #strLine
End Sub

望高手指点指点
...全文
85 点赞 收藏 17
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
kbsssnlss 2008-01-06
谢谢
回复
caofusheng 2008-01-05
不会啊,文件显然已经关闭了。可能你哪儿写的有问题,如程序在其他地方打开了这个文件。一下代码我测试过了。没有问题。
改成以下试试。
别忘了结贴给分!!!

Dim strData As String
Dim intFileNo As Integer

intFileNo = FreeFile
Open App.Path & "\aa.txt" For Input As #intFileNo
strData = StrConv(InputB(LOF(intFileNo), #intFileNo), vbUnicode)
Close #intFileNo

Kill App.Path & "\aa.txt"

strData = Replace(strData ,"被替换的内容","要替换的内容")

intFileNo = FreeFile
Open App.Path & "\aa.txt" For Output As #intFileNo
Print #intFileNo, strData
Close #intFileNo


回复
kbsssnlss 2008-01-05
出错 文件已打开什么办
回复
kbsssnlss 2008-01-05
出错 文件已打开什么办
回复
kbsssnlss 2008-01-05
出错 文件已打开什么办
回复
波导终结者 2008-01-05
找到以后用Replace
回复
kbsssnlss 2008-01-05
谢谢

回复
caofusheng 2008-01-05

Dim strData As String
Dim intFileNo As Integer

Open App.Path & "\aa.txt" For Input As #1
strData = StrConv(InputB(LOF(1), #1), vbUnicode)
Close #1

strData = Replace(strData ,"被替换的内容","要替换的内容")

intFileNo = FreeFile
Open App.Path & "\aa.txt" For Output As #intFileNo
Print #intFileNo, strData
Close #intFileNo
回复
kbsssnlss 2008-01-05
草上飞 大哥
可不可给个代码来看看
谢谢你啦
我急用啊`麻烦你啦
回复
kbsssnlss 2008-01-05
先谢谢你
但可不可以给个代码来看看
谢谢你啦
回复
caofusheng 2008-01-05
1:用只读打开文件 ,把整个文件的内容读到一个String 里。然后关掉文件。
2:在String 中找到被要替换的内容。
3:Replace(String ,“被替换的内容”,“要替换的内容”)
4:用重写方式再次打开文件,然后把String 写进去,关掉文件就OK了。







回复
kbsssnlss 2008-01-05
但是我的String里 只得一行的内容
如果我想删除文本文件中的这一行用什么方法比交好
之后再从第一行写入我想要的内容用什么方法比交好
望高手指点指点
回复
caofusheng 2008-01-05
先读文件读到一个String里,在String中找到要替换的内容,然后替换String。最后把正确的String重新写道文件中
回复
kbsssnlss 2008-01-05
3楼 chenhui530

可以话清楚点打个代码来看看
我急用~~谢谢
回复
浪客 2008-01-05
文本文件中替换一般读入后修改,然后在写入。。
回复
chenhui530 2008-01-05
我建议你读字节方式的方法来处理这样可以直接替换~

比如你读到指定字符的头一个字符是你需要的再严正完整的字符串是否匹配如果完全匹配你可以使用seek正确定位到文件位置然后再用put替换即可
回复
kbsssnlss 2008-01-05
Replace 返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。
我想在文本文件中替换我找到的这一行
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7449

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告