[vba] 선택한 텍스트 파일(다중 파일) 특정행(간격)만 가지고 오기 > vb6.0/vba

본문 바로가기

vb6.0/vba

[vb6.0/vba] [vba] 선택한 텍스트 파일(다중 파일) 특정행(간격)만 가지고 오기

회원사진
하나를하더라도최선을
2019-09-29 15:58 3,837 0

본문



Sub program1472_com()
    Dim S As Worksheet
    Dim Files As Variant, File As Variant
    Dim V As Variant, i As Integer
    Files = Application.GetOpenFilename("텍스트파일,*.txt;*.csv;*.prn", Title:="가져올 파일", MultiSelect:=True)
    If Not IsArray(Files) Then End
    Set S = Sheets("Sheet2")
    For Each File In Files  '// 선택한 파일을 순환하면서
        V = Split(ReadText(CStr(File)), vbCrLf)   '// 해당 텍스트문서를 읽어서 줄단위로 잘라 배열에 담음
        For i = 0 To UBound(V) Step 3   '// 첫번째 행부터 마지막 행까지 0, 3, 6, 9,... 줄 읽어옴
            S.Cells(Rows.Count, "A").End(3)(2= V(i)   '// 셀에 해당 행값을 넣음
        Next
    Next
End Sub
 
Public Function ReadText(Optional FilePath As String = ""As String
    If Len(Dir$(FilePath)) = 0 Then ReadText = "": Exit Function
    Dim FN As Integer, tmp() As Byte
    FN = FreeFile
    ReDim tmp(FileLen(FilePath) - 1As Byte
    Open FilePath For Binary As #FN
        Get #FN, , tmp
    Close #FN
    ReadText = StrConv(tmp, vbUnicode)
End Function
 

댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색