텍스트 파일의 각 줄에 특정 위치에 세로 막대를 배치하려고합니다. 내 코드는 꽤 간단하다. 나는 그것을 실행하려고 할 때 아무 일도 일어나지 않는다. 나는 심지어 오류를 얻지 않는다. 이 단지에 기록하도록되어 파일이 빈 텍스트 파일 그런 제외구분 문자를 텍스트 문서에 삽입하려고 시도했습니다.
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'를 만들 때 이것을 고려 했습니까? 처리가 끝나자 마자 출력 파일을 열고 줄을 씁니다. 입력 파일이 크면 필요한 것보다 더 많은 메모리를 사용하게됩니다. 그것이 말하게되면서, 이것은 당신이 원하는 것을 어떻게하지 않습니까? 오류가 있습니까? 예기치 않은 결과가 있습니까? ... 좀 더 자세히 설명해주십시오. – CompuChip
쓸 파일이 아직 비어 있습니다. 또한, do 루프에 배치 된 strComma - 1이 계정으로 이동했다고 생각했습니다. –
코드가 작동합니다. 귀하의 코드에 표시되지 않은'On Error Resume Next'가 포함되어 있습니까? 그게 당신이 (어떤 존재하지 않는 출력 파일을 만들지 못하는 것처럼) 당신이 얻고있는 모든 오류를 숨길 것이기 때문입니다. –