[vba] VBA 외부 TXT 값 불러오기

하나를하더라도최선을 2019-09-29 16:03:42 40,793 0 0
1. 80  90  80  국어 영어 수학
2. 70  80  80  국어 과학 영어

이런식으로 저장된 텍스트 파일을 아래처럼 셀에 뿌려줍니다.

아래 소스에서 굵게 표시된 부분이 빠지만 2, 3행처럼 들어가고 굵은 부분의 소스가 들어가면 4, 5행처럼 들어갑니다.

 

Sub program1472_com()

Const FullPath As String = "C:\DATA\AAA.TXT"

Dim V As Variant, i As Integer

If Len(Dir(FullPath)) > 0 Then

V = ReadText(FullPath)

Do While InStr(V, Space(2)) > 0

V = Replace(V, Space(2), Space(1))

Loop

For Each V In Split(V, vbCrLf)

With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

.SetText Join(Split(V, Space(1)), vbTab)

.PutInClipboard

End With

ActiveSheet.Paste Destination:=Cells(Rows.Count, "A").End(3)(2)

Next

End If

End Sub

Public Function ReadText(Optional FilePath As String = "") As String

If Len(Dir$(FilePath)) = 0 Then Exit Function

Dim FN As Integer, tmp() As Byte

FN = FreeFile

ReDim tmp(FileLen(FilePath) - 1) As Byte

Open FilePath For Binary As #FN

Get #FN, , tmp

Close #FN

ReadText = StrConv(tmp, vbUnicode)

End Function

댓글 0개

첫 번째 댓글을 작성해보세요!