2013-11-14 77 views
0

我想在文本文件的每一行中的某些點放置一個垂直條。我的代碼非常簡單,我很確定...但是當我嘗試運行它時,沒有任何反應。我甚至沒有出現錯誤。它應該寫成文件仍然是一個空白的文本文件嘗試在文本文檔中插入分隔符

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 
+0

除此之外,通過一個後移所有索引。你在構建'arrComma's時是否考慮到了這一點?我還會打開輸出文件並在完成處理後立即寫入行。如果輸入文件很大,則會使用比需要更多的內存。這就是說,這不是你想要的?你有錯誤嗎?意想不到的結果? ...請更具體。 – CompuChip

+0

它應該寫入的文件仍然是空白的。另外,我認爲放在do循環中的strComma - 1將這個轉換考慮進去了。 –

+0

代碼適用於我。您的代碼是否包含您未顯示的「On Error Resume Next」?因爲這會掩蓋你遇到的任何錯誤(如未能創建不存在的輸出文件)。 –

回答

-1
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) 

strTextFile = objFile.ReadAll 
objFile.Close 

aTextFile = Split(strTextFile, vbCRLF) 

strText = "" 
For Each strLine In aTextFile 
    intLength = Len(strLine) 
    For Each strComma in arrCommas 
     strLine = Left(strLine, strComma - 1) + "|" + Mid(strLine, strComma, intLength) 
    Next 
    strText = strText & strLine & vbCrLf 
Next 

Set objFile = objFSO.OpenTextFile("c:\SQL DATA FILES\MBS Stats\mbsfinal\mbsfact102013_delimited.txt", ForWriting) 
objFile.Write strText 
objFile.Close 
每次插入逗號時間
+0

-1用於連接成strText並將strTextFile寫入輸出文件。 –

+0

你知道你可以編輯帖子,而不是隻是downvote他們,對嗎? –