파일을 읽어오면 파일경로와 파일명까지 표시를 해주는데 파일 경로(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
'업무 능력 향상 > 엑셀 VBA 기초' 카테고리의 다른 글
[VBA기초] 셀병합하기 (0) | 2015.06.23 |
---|---|
[VBA기초] 병합된 셀에서 원하는 데이터 찾아서 가져오기 (0) | 2015.06.22 |
[VBA기초] Round 함수 (0) | 2015.06.14 |
[VBA기초] GetOpenFilename (1) | 2015.06.13 |
Error Trapping with Visual Basic for Applications (0) | 2015.06.09 |