엑셀프로그래밍을 하다보면 폴더접근하는 일이 있습니다.
아래와 같이 Environ VBA함수를 이용하여 내문서의 경로를 알 수 있지만,
이 구문이 제대로 작동하지 않는 컴퓨터가 있었습니다.
pat = Environ("USERPROFILE") & "\My Documents\"
그래서...
아래를 이용하세요.
WshShell 개체를 이용한 방법입니다.
엑셀에 없는 개체이므로 VBE에서 메뉴에
도구-- 참조-- Windows Script Host Object Model
을 체크하시면 정적으로 링크가 맺어집니다. 속도가 조금이나마 빠르죠.
아래와 같이 실행시에 동적으로 이 개체를 생성할 수 도 있습니다.
Sub 바탕화면5내문서_경로알기()
'Dim Wsh As New WshShell
Set Wsh = CreateObject("WScript.Shell")
MsgBox Wsh.SpecialFolders("Desktop") '바탕화면 경로
Debug.Print Wsh.SpecialFolders("MyDocuments") '내문서 경로 (C:\Users\유저명\Documents)
End Sub
※ Debug.Print 하면 직접실행창에 출력하는건 아시죠.
직접실행창은 VBE에서 Ctrl+G하면 기본적으로 코드창 아래에 보입니다.
'메모' 카테고리의 다른 글
sybase dbvalid, validate table...펌 (0) | 2012.08.16 |
---|---|
vba 현재파일경로 및 chdir chdrive ... 펌 (0) | 2012.08.15 |
sybase connection string...펌 (0) | 2012.08.14 |
엑셀 vba specialcells ... 펌 (0) | 2012.08.13 |
sybase sql export, redirect...펌 (0) | 2012.08.11 |