2013-11-14 3 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'를 만들 때 이것을 고려 했습니까? 처리가 끝나자 마자 출력 파일을 열고 줄을 씁니다. 입력 파일이 크면 필요한 것보다 더 많은 메모리를 사용하게됩니다. 그것이 말하게되면서, 이것은 당신이 원하는 것을 어떻게하지 않습니까? 오류가 있습니까? 예기치 않은 결과가 있습니까? ... 좀 더 자세히 설명해주십시오. – 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에 concatening하고 strTextFile을 출력 파일에 쓰려면. –

+0

당신은 게시물을 편집 할 수 있다는 사실을 알고 있습니다. –

관련 문제