Excel VBA에서 텍스트 파일에 어떻게 안정적으로 쓸 수 있습니까?
엑셀 VBA를 이용해서 텍스트 파일에 쓰려고 합니다.저는 몇 가지를 하고 있습니다.
MyFile1 = "C:\outputFromExcel1.txt"
fnum1 = FreeFile()
Open MyFile1 For Output As fnum1
그리고는 그들에게 이렇게 편지를 썼습니다.
Print #fnum1, text
위의 모든 변수는 다음과 같이 선언됩니다.Dim. 저는 파일에 수백 줄을 쓰고 있는데 아주 드물게 줄이 잘려나가고 있습니다. 즉, 끝이 잘려나가는 것입니다.엑셀 VBA에서 파일에 쓰는 더 좋은 방법이 있습니까?
편집: 저는 그것이 항상 마지막에 쓰여질 줄들이라는 것을 방금 깨달았습니다.그럼 어떻게든 파일을 닫거나 플러시해야 할까요?
사용가능Close #fnum1파일 핸들을 닫고 남은 버퍼 내용을 플러시해야 합니다.
예, 당신은 그 파일들을 닫아야 합니다.Close방법.그것이 문제를 일으킨 것인지는 잘 모르겠지만 당신은 어느 쪽이든 그렇게 해야 합니다.
VBA 코드에서 파일 처리를 많이 하는 경우 FSO(FileSystemObject)를 사용하는 것이 검토할 가치가 있을 수 있습니다. 원래는 VB스크립트에서 파일 처리를 하도록 하기 위한 것이라고 생각하지만 파일 처리에 내장된 VB6와 VBA 둘 다를 선호합니다.자세한 내용은 여기를 참조하십시오(또한 해당 페이지 중 하나에서 필요한 대부분의 작업을 수행하는 방법을 보여주는 큰 샘플도 있습니다).
텍스트를 다른 시트(또는 다른 워크북)에 작성한 후 다음을 사용하는 것을 고려해 본 적이 있습니까?
ActiveWorkbook.SaveAs Filename:="C:\MyFile.txt", FileFormat:=xlText
성능 및/또는 포맷 측면에서 더 나은 결과를 얻을 수 있을지는 확실하지 않지만 시도해 볼 가치가 있을 수도 있습니다.
네크로 솔루션입니다.제가 찾은 건을 찾았습니다.Close #1잘린 파일을 남기는 메서드입니다.대신에, 또는 에 추가하여,Application.QuitExcel이 Excel을 닫아야 합니다.그러면 캐시가 플러시되고 텍스트 파일에 쓰기가 완료됩니다.
언급URL : https://stackoverflow.com/questions/3085615/how-can-i-write-to-a-text-file-reliably-from-excel-vba
'programing' 카테고리의 다른 글
| ASP.NET MVC 6 AspNet.세션 오류 - 유형에 대한 서비스를 확인할 수 없습니까? (0) | 2023.10.14 |
|---|---|
| 함수와 같은 매크로에 전처리기 지시어를 추가하는 것이 잘못된 것입니까? (0) | 2023.10.14 |
| Jenkins powershell 플러그인이 항상 성공적으로 빌드됨 (0) | 2023.10.14 |
| Github 개인 저장소에 대한 Jenkins CI 인증 (0) | 2023.10.14 |
| 모델을 사용하지 않고 엔티티 프레임워크를 사용하여 원시 SQL 쿼리를 실행하는 방법은 무엇입니까? (0) | 2023.10.14 |