'vba 상위폴더'에 해당되는 글 1건

728x90

파일을 읽어오면 파일경로와 파일명까지 표시를 해주는데 파일 경로(Path)만 알고 싶은 경우가 있다.

이럴 경우 파일 경로를 뿌려주는 코드이다.

상위코드까지 고려해서 작업을 해봤다. 붉은 글씨 숫자를 줄이면 더 상위경로명을 반환한다.


현재 폴더의 Path 만 알아내고 싶은 경우에는

Left(fileName, InStrRev(fileName, "\")) 로 하면 된다.

InStrRev 함수는 가장 오른쪽에 있는 위치의 값을 정수로 반환한다.


Sub getPath()
    Dim v
    Dim i%, n%
   
    v = Split(Cells(5, "E"), "\")
    ReDim Dat(1 To 1)
    For i = LBound(v) To UBound(v) - 1
        n = i + 1
        ReDim Preserve Dat(1 To n)
        Dat(n) = v(i)
    Next
    Cells(7, "E") = Join(Dat, "\")
End Sub


함수로 만들어서 사용하는 방법은

Function getPath(fileName$, Optional c% = 0)
    Dim v As Variant, i%, n%
    v = Split(fileName, "\")
    ReDim Dat(1 To 1)
    For i = LBound(v) To UBound(v) - 1 - c
        n = i + 1
        ReDim Preserve Dat(1 To n)
        Dat(n) = v(i)
    Next
    getPath = Join(Dat, "\")
End Function


블로그 이미지

Link2Me

,