7,763
社区成员
发帖
与我相关
我的任务
分享
Option Explicit
Dim objFSO, objInFile, objOutFile
Dim strTemp, i, k
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objInFile = objFSO.OpenTextFile("X:\xxxx\源文件.xml")
Set objOutFile = objFSO.CreateTextFile("X:\xxxx\处理后.xml")
For i = 1 To 28
objOutFile.WriteLine(objInFile.ReadLine())
Next
strTemp = objInFile.ReadLine()
k = InStr(strTemp, "*")
i = 20 + k
objOutFile.WriteLine(Left(strTemp, i - 1))
k = Len(strTemp)
While(i <= k)
objOutFile.WriteLine(Mid(strTemp, i, 20))
i = 20 + i
Wend
Do
If (objInFile.AtEndOfStream) Then Exit Do
objOutFile.WriteLine(objInFile.ReadLine())
Loop
objOutFile.Close
objInFile.Close
MsgBox "处理完成。", 64
Private Sub Command1_Click()
Dim arrData() As Byte
Dim arrBuff() As String
Dim strTemp As String
Dim i&, k As Long
Open "X:\xxxx\源文件.xml" For Binary As #1
k = LOF(1)
ReDim arrData(k - 1&)
Get #1, , arrData()
Close
arrBuff = Split(StrConv(arrData(), vbUnicode))
Open "X:\xxxx\处理后.xml" For Output As #1
For i = 0& To 27&
Print #1, arrBuff(i)
Next
strTemp = arrBuff(28&)
k = InStr(strTemp, "*")
i = 20& + k
Print #1, Left$(strTemp, i - 1&);
k = Len(strTemp)
While (i <= k)
Print #1, Mid$(strTemp, i, 20&);
i = 20& + i
Wend
Print #1,
For i = 29& To UBound(arrBuff())
Print #1, arrBuff(i)
Next
Close
End Sub
Option Explicit
Dim objFSO, objInFile, objOutFile
Dim strTemp, i, k, p
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objInFile = objFSO.OpenTextFile("X:\xxxx\源文件.xml")
Set objOutFile = objFSO.CreateTextFile("X:\xxxx\处理后.xml")
For i = 1 To 28
objOutFile.WriteLine (objInFile.ReadLine())
Next
strTemp = objInFile.ReadLine()
p = 0
Do
k = p + 1
For i = 1 To 20
p = InStr(1 + p, strTemp, "*")
If (0 = p) Then
objOutFile.WriteLine(Mid(strTemp, k))
Exit Do
End If
Next
objOutFile.WriteLine(Mid(strTemp, k, p-k +1))
If (p = Len(strTemp)) Then Exit Do
Loop
Do
If (objInFile.AtEndOfStream) Then Exit Do
objOutFile.WriteLine(objInFile.ReadLine())
Loop
objOutFile.Close
objInFile.Close
MsgBox "处理完成。", 64