我想在文本文件的每一行中的某些點放置一個垂直條。我的代碼非常簡單,我很確定...但是當我嘗試運行它時,沒有任何反應。我甚至沒有出現錯誤。它應該寫成文件仍然是一個空白的文本文件嘗試在文本文檔中插入分隔符
Const ForReading = 1
Const ForWriting = 2
arrCommas = Array(10,14,21,24,39,43,46,61,72,79,82,85,88,91,94,97,101,142,173,189,192,198,205,211,218,222,229,236,240)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\SQL DATA FILES\MBS Stats\mbsedited\mbsfact102013_linebreaks.txt", ForReading)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
intLength = Len(strLine)
For Each strComma in arrCommas
strLine = Left(strLine, strComma - 1) + "|" + Mid(strLine, strComma, intLength)
Next
strText = strText & strLine & vbCrLf
Loop
objFile.Close
Set objFile = objFSO.OpenTextFile("c:\SQL DATA FILES\MBS Stats\mbsfinal\mbsfact102013_delimited.txt", ForWriting)
objFile.Write strText
objFile.Close
除此之外,通過一個後移所有索引。你在構建'arrComma's時是否考慮到了這一點?我還會打開輸出文件並在完成處理後立即寫入行。如果輸入文件很大,則會使用比需要更多的內存。這就是說,這不是你想要的?你有錯誤嗎?意想不到的結果? ...請更具體。 – CompuChip
它應該寫入的文件仍然是空白的。另外,我認爲放在do循環中的strComma - 1將這個轉換考慮進去了。 –
代碼適用於我。您的代碼是否包含您未顯示的「On Error Resume Next」?因爲這會掩蓋你遇到的任何錯誤(如未能創建不存在的輸出文件)。 –