Private Sub Command1_Click()
Dim i%, j%, k%
Dim a$(5000)
j = 1
Open AppPath + "\1txt" For Input As #1
Open AppPath + "\2txt" For Output As #2
Line Input #1, a(1)
Print #2, a(1)
Do
j = j + 1
Line Input #1, a(j)
k = 0
For i = 1 To j - 1
If a(j) = a(i) Then k = 1: Exit For
Next i
If k = 0 Then Print #2, a(j)
Loop While Not EOF(1)
Close #2
Close #1
End Sub
注:1txt 原文本 2txt 结果
Private Function crazy0qwer()
Dim i As Long, j As Long, flag As Boolean
Dim a As Long, b As Long
a = UsedRangeRowsCount '已用的行数
b = UsedRangeColumnsCount '已用的列数
For i = 1 To a '1 到 最后一行
For j = 1 To b '1 到最后一列
If Cells(i, j) = "小计" Then
Rows(i)Delete '找到 删除之
i = i - 1 '由于删除后下面的补上了,所以行号要减一,否则补上的这行没有查找
End If
Next
Next
End Function
给你一段简单易懂的,且结果中没有多余的空行:
Private Sub Command1_Click()
'读取文件内容
Dim LoadBytes() As Byte
Open "E:\1txt" For Binary As #1
ReDim LoadBytes(1 To LOF(1))
Get #1, , LoadBytes
Close #1
arr = Split(StrConv(LoadBytes, vbUnicode), vbCrLf)
'查找第一次出现S17000的位置
For i1 = 0 To UBound(arr)
If InStr(arr(i1), "S17000") > 0 Then Exit For
Next
'从第一次出现S17000的位置的下一个位置开始
'找到S17000,从当前向前查4个变为Chr(27)即ESC键,此字符在文本文件中是不可能出现的
For i2 = i1 + 1 To UBound(arr)
If InStr(arr(i2), "S17000") > 0 Then
For j = i2 - 4 To i2
If j >= i1 Then arr(j) = Chr(27)
Next
If j <= UBound(arr) Then arr(j) = ""
End If
Next
Open "E:\2txt" For Output As #1
Print #1, Replace(Join(arr, vbCrLf), Chr(27) & vbCrLf, "")
Close #1
End Sub
Dim s As String
Open "31029600txt" For Input As #1
Open "31029600_1txt" For Output As #2
Do Until EOF(1)
Line Input #1, s
If Val(s) <> 0 Then Print #2, s
Loop
Close #2
Close #1
不太明白你的题目
如果你是在程序中,用鼠标选中了多行文本中的一些文本(包括多行的),然后只需要在代码中添加一行代码就行了,比如:
Private Sub Command1_Click()
Text1SelText = ""
End Sub
如果你是需要程序自动来删除文本框中的一些内容,如果你知道内容,可以使用Replace,来删除,如果你知道的是位置,可以设定文本框的Text1SelStart,Text1SelLength,然后再用上面的代码来删除它们
补充:
1将文本框的内容添加到另一文本中
Private Sub Command1_Click()
Open "c:\1txt" For Append As #1
Print #1, text1
Close #1
End Sub
如果想添加多次:
Private Sub Command1_Click()
Open "c:\1txt" For Append As #1
for i=1 to 10
Print #1, text1
next
Close #1
End Sub
2同上,是追加方式,原文本会被保留
3
print #1,text1 & chr(9) & text2
就能将文本框1和文本框2中的内容用TAB分隔写入了
至于 每行4个数字 我不知道你的数据格式,可以使用FOR来循环添加
i mod 4=0时,认为是一行完成,可以添加一个vbcrlf
以上就是关于如何用VB将文本本件里的相同行删除全部的内容,包括:如何用VB将文本本件里的相同行删除、请教:宏 VB excel 特定行 删除、VB怎么查找字符,删除掉指定的行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)