자료실

부자는 돈을 써서 시간을 아끼지만 가난한 사람은 시간을 써서 돈을 아낀다

vb6.0/vba

IT HUB를 찾아주셔서 감사합니다.

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

페이지 정보

profile_image
작성자 하나를하더라도최선을
댓글 0건 조회 5,849회 작성일 19-09-29 15:58

본문

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
 

댓글목록

등록된 댓글이 없습니다.