엑셀 메모장, CSV 불러오기 :: Read_TextFile 명령문 사용법 총정리
엑셀 Read_TextFile 명령문 목차 바로가기
요약
엑셀 Read_TextFile 함수는 파일 경로의 메모장, CSV 파일을 읽어오는 사용자 지정 함수입니다.
명령문 구문
= Read_TextFile ( 파일경로, [인코딩형식] )
사용된 인수 및 변수 알아보기
인수 | 설명 |
파일경로 [String] |
메모장 또는 CSV 파일을 불러올 파일 경로입니다. 폴더경로 및 확장자를 모두 포함한 전체 경로를 입력합니다. 만약 파일경로가 올바르지 않거나 존재하지 않는 파일일 경우 결과값으로 #Value! 오류를 반환합니다. |
인코딩형식 [String, 선택인수] |
인코딩 형식입니다. 기본값은 UTF-8 입니다. 필요에 따라 Unicode, ANSI 등의 인코딩 형식을 지정할 수 있습니다. |
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [엑셀VBA함수] Read_TextFile 함수 - 예제파일예제파일
상세 설명
엑셀 Read_TextFile 함수는 파일 경로의 메모장 또는 CSV 파일을 읽어오는 엑셀 사용자 지정 함수입니다. 파일 경로는 폴더경로와 확장자를 포함한 전체 경로를 입력합니다. 대부분의 경우 UTF-8 형식으로 값을 올바르게 받아오지만, 일부 파일은 인코딩 형식에 따라 "꿹뛣쀍" 등으로 문자가 깨져서 출력될 수 있습니다. 그럴 경우 파일의 인코딩 형식을 확인 후 인코딩 값을 변경합니다.
엑셀 메모장 불러오기 함수 사용 예제 메모장 또는 CSV 파일의 인코딩 형식을 확인하는 방법은 간단합니다. 파일을 메모장으로 실행 후, [파일] - [다른 이름으로 저장]을 선택합니다. 이후 다른 이름으로 저장 대화상자의 오른쪽 아래에서 현재 실행중인 파일의 인코딩 형식을 확인할 수 있습니다.
메모장 및 CSV 파일 인코딩 형식 확인 방법 현재 실행중인 통합문서의 폴더 경로를 받아오는 함수 공식과 동작원리는 아래 관련 포스트에서 자세히 설명해드렸습니다.
실전 사용 예제
- 현재 실행중인 파일과 동일한 경로의 테스트.txt 메모장 내용 불러오기
=Read_TextFile(LEFT(CELL("filename",A1),FIND("\[",CELL("filename",A1)))&"테스트.txt")
=Read_TextFile("C:\폴더경로\테스트.txt")
'C:\폴더경로\테스트.txt 메모장 파일 내용을 출력합니다. - 특정 경로의 CSV 파일 내용 불러오기
=Read_TextFile("C:\Temp\테스트.csv")
'C:\Temp\테스트.csv CSV 파일 내용을 출력합니다.
엑셀 메모장, CSV 불러오기, Read_TextFile 명령문 동작원리
Read_TextFile 명령문 전체 코드
Function Read_TextFile(sPath As String, Optional Charset As String = "UTF-8") As String '############################################################### '오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com) '■ Read_TextFile 함수 '■ 텍스트 또는 CSV 파일을 읽어옵니다. '■ 인수 설명 '_____________sPath : 텍스트 또는 CSV 파일의 파일경로입니다. '_____________Charset : [선택인수] 인코딩형식입니다. 기본값은 UTF-8 입니다. Unicode, ANSI 등으로 설정할 수 있습니다. '■ 사용 예제 's = Read_TextFile("C:\Temp\Test.txt") '############################################################## On Error GoTo EH: Dim objADO As Object Set objADO = CreateObject("ADODB.Stream") With objADO .Open .Charset = Charset .LoadFromFile sPath Read_TextFile = .ReadText End With Exit Function EH: Read_TextFile = CvErr(xlValue) End Function
명령문 동작원리 단계별 알아보기
- 메모장, CSV 파일을 읽어오기 위해 ADODB 개체를 생성합니다.
Dim objADO As Object Set objADO = CreateObject("ADODB.Stream")
- ADO개체로 파일을 읽어옵니다.
With objADO .Open .Charset = Charset .LoadFromFile sPath Read_TextFile = .ReadText End With
- 파일이 없거나 잘못된 경로로 인해 오류가 발생할 경우 Value 오류를 반환합니다.
EH: Read_TextFile = CVErr(xlValue)
- 현재 실행중인 파일과 동일한 경로의 테스트.txt 메모장 내용 불러오기