엑셀프로그래밍을 하다보면 폴더접근하는 일이 있습니다.

 

아래와 같이 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

+ Recent posts