7,762
社区成员
发帖
与我相关
我的任务
分享
Option Explicit
Private Sub Command1_Click()
Dim arrBuff() As Byte
Dim arrText() As String
Dim strTemp As String
Dim p1&, p2 As Long
Dim i&, w As Long
' 读取源数据1:
Open "E:\Temp\a1.txt" For Binary As #1
w = LOF(1)
ReDim arrBuff(w - 1)
Get #1, , arrBuff()
Close
strTemp = StrConv(arrBuff(), vbUnicode)
arrText = Split(strTemp, vbCrLf)
' 读取源数据2:
Open "E:\Temp\a2.txt" For Binary As #1
w = LOF(1)
ReDim arrBuff(w - 1)
Get #1, , arrBuff()
Close
strTemp = StrConv(arrBuff(), vbUnicode)
' 找第1个 <102 \BohrVert\ 的位置:
w = UBound(arrText())
For i = 0 To w
'If ("<102 \BohrVert\" = arrText(i)) Then
If ("<102" = Left$(arrText(i), 4&)) Then
p1 = i
Exit For
End If
Next
' 找“第1个 <102 \BohrVert\”之前的最后一个“KM=”:
If (-1 = p1) Then
MsgBox "没找到关键行:<102 \BohrVert\", 64
Exit Sub
End If
For i = p1 To 0 Step -1
If ("KM=" = Left$(arrText(i), 3&)) Then
p2 = i
Exit For
End If
Next
' 将“组合内容”输出到文件3:
Open "E:\Temp\a3.txt" For Output As #1
For i = 0& To p2
Print #1, arrText(i) ' 输出“前半部分”
Next
Print #1, strTemp ' 输出“插入内容”
For i = 1& + p2 To w
Print #1, arrText(i) ' 输出“后半部分”
Next
Close
End Sub