출처: http://it205.tistory.com/21
VBA을 이용해서 Text 파일 (혹은 Xml등등)을 저장하는 방법입니다.
보통 VBA의 FileSystem을 이용한 [Open / Close를 활용 한 방법이 있습니다.
(구글링 및 네이버를 이용해서 쉽게 찾을 수 있습니다.)
하지만 FileSystem은 ASCII 형태로 저장이 되어 일부 프로그램에서 로드할 때 깨지거나,
문제점이 발생할 수 있습니다.
(회사에서 UTF-8 형태로 모두 바꾸는 바람에 기록 방법을 바꾸어야 했어요 ㅠㅠ)
이 때에는 Stream을 이용해서 File을 생성 기록 할 수 있습니다.
'Stream의 생성
Dim stmFileControl As Stream 'Stream 인자 생성
Set stmFileControl = New Strem 'Stream 저장공간 배치
stmFileControl .Open
stmFileControl.Position = 0 '기록, 혹은 읽을 위치를 0으로 맞춘다.
stmFileControl.Charset = "UTF-8" '저장시 [UTF-8]로 저장합니다.
'Stream에 기록
stmFileControl.WriteText("기록값을 String으로 넣습니다." & sString & " &로 묶어도 되요")
'Stream에서 파일로 저장
stmFileControl.SaveToFile "C:\Test.txt", adSaveCreateOverWrite
'C:\Test.txt에 저장(혹은 생성)하겠다는 것입니다.
'adSaveCreateOverWrite가 해당 옵션을 선택하는 것입니다. (다른 옵션도 있겠지만.. 확인하지 않았어요..
stmFileControl.Close
'stmFileControl을 닫습니다.
각 생성 및 소멸을 함수로 묶어서 만들면 편하게 사용할 수 있습니다. : )
--참고하세요!!--
Stream을 사용하려면
Microsoft ActiveX DataObject 2.8(이상)을 사용할 수 있어야 합니다.
VBA에서 [도구>참조] 를 눌러서 위의 라이브러리를 추가해주세요.
--2011년 5월 추가 내용
그냥 일반적으로 사용하는 Text형식은 아래와 같다.
stmFileControl.Charset = "euc-kr" '저장시 [euc-kr8]로 저장합니다.
'기타' 카테고리의 다른 글
[엑셀] 엑셀 - 유령문자, 음표문자, 개행문자를 삭제하고자 할때... (0) | 2016.09.02 |
---|---|
[엑셀] 엑셀 vlookup 함수 여러개 조건 만족값 찾기예제(index,match) (0) | 2016.09.02 |
[엑셀] 텍스트파일 import하는 기본코드 (엑셀 VBA 매크로) (0) | 2016.08.25 |
[엑셀] 엑셀 VBA 예제5 값에 따라 셀 색깔 바꾸는 엑셀 매크로 (0) | 2016.08.25 |
[엑셀] 엑셀 VBA 예제1 텍스트 파일(.txt) 엑셀에 입력하기 (0) | 2016.08.25 |