代码如下,但运行之后,但文本并没有任何改动:
.
.
.
seldatemes$() = Split(alltext$, ">" & Chr$(13) + Chr$(10)) 'alltext$为文本中的全部内容
seldatemesnum = UBound(seldatemes$) - 1
For num = 0 To seldatemesnum
If InStr(1, seldatemes$(num), datedblc$) <> 0 Then
addarrangement$ = seldatemes$(num) '要删除的字符
last1$ = Mid(seldatemes$(num), 1, Len(seldatemes$(num))) + adddata$ + ">" 'adddata$为要增加的文字
Exit For
strSourceFile$ = "I:\LaQueen\VB6\date.txt" '源文件
strTargetFile$ = "I:\LaQueen\VB6\date2.txt" '目标文件
操作文件中一行 strSourceFile$, strTargetFile$, addarrangement$
Open "I:\LaQueen\VB6\date2.txt" For Output As #1
Print #1, wrap$ + last1$;
Close #1
Kill "I:\LaQueen\VB6\date.txt"
Name "I:\LaQueen\VB6\date2.txt" As "I:\LaQueen\VB6\date.txt"
End If
Next num
操作文件中一行 的代码:
Sub 操作文件中一行(strSourceFile As String, strTargetFile As String, addarrangement$)
Dim filenum As Integer
Dim fileContents As String
Dim fileInfo() As String
Dim i As Integer
Dim j As Integer
Dim tmpDemData As String filenum = FreeFile
Open strSourceFile For Binary As #filenum
fileContents = Space(LOF(filenum))
Get #filenum, , fileContents
Close filenum
fileInfo = Split(fileContents, ">" & Chr$(13) + Chr$(10))
filenum = FreeFile
tmpDemData = ""
If Dir(strTargetFile, vbNormal) <> "" Then
Kill strTargetFile
End If
Dim Filestr() As String Open strTargetFile For Append As #filenum
tmpDemData = ""
For j = 0 To UBound(Filestr)
If j = addarrangement$ Then ;当读到要删除的字符
tmpDemData = tmpDemData
Else
tmpDemData = tmpDemData & Filestr(j)
End If
Next
Print #filenum, tmpDemData
Close #filenum
End Sub
.
.
.
seldatemes$() = Split(alltext$, ">" & Chr$(13) + Chr$(10)) 'alltext$为文本中的全部内容
seldatemesnum = UBound(seldatemes$) - 1
For num = 0 To seldatemesnum
If InStr(1, seldatemes$(num), datedblc$) <> 0 Then
addarrangement$ = seldatemes$(num) '要删除的字符
last1$ = Mid(seldatemes$(num), 1, Len(seldatemes$(num))) + adddata$ + ">" 'adddata$为要增加的文字
Exit For
strSourceFile$ = "I:\LaQueen\VB6\date.txt" '源文件
strTargetFile$ = "I:\LaQueen\VB6\date2.txt" '目标文件
操作文件中一行 strSourceFile$, strTargetFile$, addarrangement$
Open "I:\LaQueen\VB6\date2.txt" For Output As #1
Print #1, wrap$ + last1$;
Close #1
Kill "I:\LaQueen\VB6\date.txt"
Name "I:\LaQueen\VB6\date2.txt" As "I:\LaQueen\VB6\date.txt"
End If
Next num
操作文件中一行 的代码:
Sub 操作文件中一行(strSourceFile As String, strTargetFile As String, addarrangement$)
Dim filenum As Integer
Dim fileContents As String
Dim fileInfo() As String
Dim i As Integer
Dim j As Integer
Dim tmpDemData As String filenum = FreeFile
Open strSourceFile For Binary As #filenum
fileContents = Space(LOF(filenum))
Get #filenum, , fileContents
Close filenum
fileInfo = Split(fileContents, ">" & Chr$(13) + Chr$(10))
filenum = FreeFile
tmpDemData = ""
If Dir(strTargetFile, vbNormal) <> "" Then
Kill strTargetFile
End If
Dim Filestr() As String Open strTargetFile For Append As #filenum
tmpDemData = ""
For j = 0 To UBound(Filestr)
If j = addarrangement$ Then ;当读到要删除的字符
tmpDemData = tmpDemData
Else
tmpDemData = tmpDemData & Filestr(j)
End If
Next
Print #filenum, tmpDemData
Close #filenum
End Sub
解决方案 »
- 有关vba的,急急急急,,,,
- AR2PROManual.pdf 中的viewer control是哪个控件
- vb中如何实现类似于WORD中“查找”界面窗口?
- vb远程连接access数据库的问题
- 程序里调用了C的动态连接库,里面封装了UDP,我该怎么做,初学急救,谢谢
- 救命!!!!!!
- 一个字符串 (str = 2,3,5-10) 什么的,想取出其中的数字,怎么取
- 请问高手如何将以下DAO建库的方法改为ADO的啊!!!
- 超高难问题,怎样用findwindowex找到另一个程序其中一个文本框的hwnd?在线求救!
- 千万不要小看女程序员哦!
- LLWindowsXP1.InitSubClassing是什么?
- vb操作word问题重重(表格、图片的插入点不知如何把握)
有一点:Exit For终止循环,后面的代码不会执行,所以Exit For要放在end if 前一行
For j = 0 To UBound(Filestr)
If filestr(j) = addarrangement$ Then ;当读到要删除的字符
tmpDemData = tmpDemData
Else
tmpDemData = tmpDemData & Filestr(j)
End If
Next
Print #filenum, tmpDemData
Close #filenum
End Sub
第一句就显示...下标越界!
然后tmpdemdata为空字串....
怎么办?
没有看到你有 Replace 那来的替换啊 你不如贴出你的数据 和要求 出来
最后代码为:
Else
seldatemes$() = Split(alltext$, ">" & Chr$(13) + Chr$(10))
seldatemesnum = UBound(seldatemes$) - 1
For num = 0 To seldatemesnum
If InStr(seldatemes$(num), datedblc$) <> 0 Then
addarrangement$ = seldatemes$(num)
last1$ = Mid(seldatemes$(num), 1, Len(seldatemes$(num)) - 1) + adddata$ + ">"
alltext$ = Replace(alltext$, addarrangement$, last1$)
Open "I:\LaQueen\VB6\date2.txt" For Output As #1
Print #1, alltext$
Close #1
Kill "I:\LaQueen\VB6\date.txt"
Name "I:\LaQueen\VB6\date2.txt" As "I:\LaQueen\VB6\date.txt"
Exit For
End If
Next num
End If
End Sub
replace果然有用,我的代码都简洁多了哈