我的脚本必须迭代。在第一个中,它读取一个txt,读取第一行,并做完一些事情(创建新字符串)后,将该字符串写入一个临时文件中,并删除原始txt后,将其保存为与原始文本。
在第二次迭代中,它将获取创建的txt并尝试在文件末尾写入新行。问题是现在代码在第一行旁边写了新行,而不是在最后一行写上。
示例:
预期结果: 004; J2Yf; 18090023; 20200725; 00000509990; VOLVO; D; YFWfS9Z9lu06JM0Rk; D; FA; 18090023 004; J2Yf; 18090023; 20200725; 00000509990; VOLVO; D; YFWfS9Z9lu06ftR78; D; FA; 18090023
错误的结果: 004; J2Yf; 18090023; 20200725; 00000509990; VOLVO; D; YFWfS9Z9lu06JM0Rk; D; FA; 18090023 004; J2Yf; 18090023; 20200725; 00000509990; VOLVO; D; YFWfS9Z9R06ftR78; D> FA <18090023 / p>
如何在最后一行写?
TIA;)
For Iterator 1 to 2
sF1 = "C:\Users\ig.ext\Desktop\Automation\Archivo.txt"
'#Opening file
Dim objFS
Dim objFile
strTemp = "C:\Users\" & Environment("UserName") & "\Desktop\Automation\Temp.txt"
Set objFS = CreateObject("Scripting.FileSystemObject")
If Iterator = 1 Then
Set objFile = objFS.OpenTextFile(sF1)
content = objFile.ReadLine
'#Creating temporal file
Set objOutFile = objFS.CreateTextFile(strTemp,True)
Else
Set objFile = objFS.OpenTextFile(sF1, 8)
End If
sResultado = "004;J2Yf;18090023;20200725;00000509990;VOLVO;D;YFWfS9Z9lu06ftR78;D;FA;18090023"
If Iterator = 1 Then
'#Write and close
objOutFile.Write(sResultado)
objOutFile.Close
objFile.Close
objFS.DeleteFile(sF1)
objFS.MoveFile strTemp,sF1
else
'#Write line and close
objFile.Writeline(sResultado)
objFile.Close
End If
Next
答案 0 :(得分:2)