Function TextStrimRead(strPathName As String) As String Dim objStream As Object Set objStream = CreateObject("ADODB.Stream") objStream.Open objStream.Type = 2 'adTypeText objStream.Charset = "UTF-8" objStream.LoadFromFile strPathName TextStrimRead = objStream.ReadText Set objStream = Nothing End Function
Sub TextStrimWrite(strPathName As String, strString As String) Dim objStream As Object Set objStream = CreateObject("ADODB.Stream") objStream.Open objStream.Type = 2 'adTypeText objStream.Charset = "UTF-8" objStream.WriteText strString objStream.SaveToFile strPathName, 2 'adSaveCreateOverWrite Set objStream = Nothing er: End Sub
Sub test() '경로는 자신의 경로로 수정하세요.
'UTF-8형식의 Sample1.txt 파일이 있어야 실행됩니다. '텍스트 파일을 읽어오는 예시 Debug.Print TextStrimRead("C:\Documents and Settings\cjj_biz\바탕 화면\Sample1.txt") ' '텍스트 파일에 쓰는 예시 TextStrimWrite "C:\Documents and Settings\cjj_biz\바탕 화면\Sample1.txt", "연습입니다." End Sub
UTF-8로 읽고 쓰기
http://blog.naver.com/atmyhome/90154596931
[이하 위 링크에서 퍼온 코드 ]
Function TextStrimRead(strPathName As String) As String
Dim objStream As Object
Set objStream = CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 2 'adTypeText
objStream.Charset = "UTF-8"
objStream.LoadFromFile strPathName
TextStrimRead = objStream.ReadText
Set objStream = Nothing
End Function
Sub TextStrimWrite(strPathName As String, strString As String)
Dim objStream As Object
Set objStream = CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 2 'adTypeText
objStream.Charset = "UTF-8"
objStream.WriteText strString
objStream.SaveToFile strPathName, 2 'adSaveCreateOverWrite
Set objStream = Nothing
er:
End Sub
Sub test()
'경로는 자신의 경로로 수정하세요.
'UTF-8형식의 Sample1.txt 파일이 있어야 실행됩니다.
'텍스트 파일을 읽어오는 예시
Debug.Print TextStrimRead("C:\Documents and Settings\cjj_biz\바탕 화면\Sample1.txt")
'
'텍스트 파일에 쓰는 예시
TextStrimWrite "C:\Documents and Settings\cjj_biz\바탕 화면\Sample1.txt", "연습입니다."
End Sub
[출처] (엑셀vba)UTF-8형식의 텍스트파일 정상적으로 읽고 쓰기..|작성자 앳마