Excel - VBA

VBA에서 사용자 Folder를 찾기

EGTools 2023. 8. 5. 08:11

일반적으로 C: 드라이브에  Desktop, Downloads, Documents, Pictures, Videos 같은 사용자 폴더가 위치하는데,

용량관리를 위해서 D: 드라이브에 옮겨서 사용하는 경우 이런 옮겨진 사용자 폴더를 찾아야 할 때

정확한 위치는 아래 Registry를 보면 알 수 있습니다.

 


 

 

 


VBA에서는 아래와 같이 찾을 수 있습니다.

MyFolderName = CreateObject("WScript.Shell").RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\personal")

 

%USERPROFILE%이 포함된 폴더명이 있을 경우 아래처럼 처리합니다.

MyFolderName = Replace(MyFolderName, "%USERPROFILE%", Environ$("USERPROFILE") )

 

폴더 위치는 Clean 설치되었을 때와  사용자 사용중 이동했거나 OneDrive 사용한 경우 Local Directory 서브키가 설정되어 있을 수 있습니다.

사용자 폴더 이름 기본 Directory Local Directory (이동 또는 OneDrive사용시)
데스크탑(Desktop) Desktop  
문서(My Documents) Personal {F42EE2D3-909F-4907-8871-4C22FC0BF756}
다운로드 (Downloads) {374DE290-123F-4565-9164-39C4925E467B} {7D83EE9B-2244-4E70-B1F5-5393042AF1E4}
사진 (Pictures) My Pictures {0DDD015D-B06C-45D5-8C4C-F59713854639}
음악 (Music) My Music {A0C69A99-21C8-4671-8703-7934162FCF1D}
동영상 (Videos) My Video {35286A68-3C57-41A1-BBB1-0EAE73D76C95}
즐겨찾기 (Favorites) Favorites  
OneDrive Documents   {24D89E24-2F19-4534-9DDE-6A6671FBB8FE}