엑셀VBA 현재 파일명 추출하기

위와 같은 상황에서 사용했을 시 아래와 같은 효과를 얻는 소스를 공개한다.

(1) 기본 소스
a = Application.Caption
MsgBox a ‘(1)번째 메시지박스
a = Replace(a, ” “, “a”, , 2) ‘변수a의 공백 2개를 문자”a”로 치환함
MsgBox a ‘(2)번째 메시지박스
For i = 1 To Len(a)
If Mid(a, i, 1) = ” ” Then
a = Mid(a, i + 1, Len(a) – i)
Exit For
End If
Next i
MsgBox a ‘(3)번째 메시지박스
(2) 좀 더 최적화된 소스 (… 별 차이는 없다.)
a = Replace(Application.Caption, ” “, “a”, , 2) ‘전체캡션의 공백 2개를 문자”a”로 치환함
For i = 1 To Len(a)
If Mid(a, i, 1) = ” ” Then
a = Mid(a, i + 1, Len(a) – i)
Exit For
End If
Next i
MsgBox a ‘메시지박스로 확인
(3) 뒤늦게 발견한 가장 좋은 소스
MsgBox ActiveWindow.Caption