GetDesktopPath 함수 (바탕화면경로 출력) :: VBA 사용자 지정 함수
예제파일 |
요약
GetDesktopPath 함수는 사용자 컴퓨터의 바탕화면 경로를 출력하는 함수입니다.
설명
GetDesktopPath 함수는 사용자 컴퓨터의 바탕화면 경로를 출력하는 함수입니다. 바탕화면 경로는 윈도우의 사용환경에 따라 달라질 수 있습니다. 따라서 WScript.Shell 개에서 바탕화면 경로를 받아오는 것을 권장합니다.
지정한 경로에 파일이 존재하는지 확인이 필요할 경우 FileExists 함수를 사용할 수 있습니다.
윈도우의 파일명에는 사용할 수 없는 몇가지 특수기호가 있습니다. 입력한 파일명이 유효한지 확인하려면 ValidFileName 함수를 사용하세요.

반환값
사용중인 PC의 바탕화면 경로를 String 형태로 반환합니다.
BackSlash 인수가 True일 경우 경로 맨 마지막에 백슬래쉬(\) 를 추가합니다.
인수
BachSlash | [선택인수] 바탕화면 경로 마지막에 백슬래쉬(\) 포함 여부를 결정합니다. |
VBA 코드
Public Function GetDesktopPath(Optional BackSlash As Boolean = True) As String '######################################################## '사용중인 PC의 바탕화면 경로를 출력합니다. 'https://www.oppadu.com/vba-fileexists-함수/ '######################################################## Dim oWSHShell As Object Set oWSHShell = CreateObject("WScript.Shell") If BackSlash = True Then GetDesktopPath = oWSHShell.SpecialFolders("Desktop") & "\" Else GetDesktopPath = oWSHShell.SpecialFolders("Desktop") End If Set oWSHShell = Nothing End Function Sub 바탕화면경로_() MsgBox "현재 사용중인 컴퓨터의 바탕화면 경로는" & vbNewLine & _ "[[ " & GetDesktopPath & " ]]" & vbNewLine & _ "입니다." End Sub
세부내용
1. WScript.Shell 개체의 SpecialFolders 속성을 통해 바탕화면 경로를 받아옵니다.
WScript.Shell 의 SpecialFolders에는 현재 사용자의 바탕화면경로 이외에도 다양한 폴더경로를 받아올 수 있습니다. SpecialFolders에 사용되는 인수 목록은 아래에 적어드린 표를 참고하세요.
Public Function GetDesktopPath(Optional BackSlash As Boolean = True) As String '// 사용자의 바탕화면 경로를 출력합니다. Dim oWSHShell As Object Set oWSHShell = CreateObject("WScript.Shell") If BackSlash = True Then GetDesktopPath = oWSHShell.specialfolders("Desktop") & "\" Else GetDesktopPath = oWSHShell.specialfolders("Desktop") End If Set oWSHShell = Nothing End Function이
수인
인수 | 설명 |
AllUsersDesktop | 기본 사용자의 바탕화면 경로를 출력합니다. |
AllUsersStartMenu | 기본 사용자의 시작메뉴를 출력합니다. |
AllUsersPrograms | 기본 사용자의 시작메뉴 프로그램 폴더를 출력합니다. |
AllUsersStartup | 기본 사용자의 시작 프로그램 폴더를 출력합니다. |
Desktop | 현재 사용자의 바탕화면 경로를 출력합니다. |
Favorites | 현재 사용자의 즐겨찾기 폴더를 출력합니다. |
Fonts | 현재 사용자의 글꼴 폴더를 출력합니다. |
MyDocuments | 현재 사용자의 내문서 폴더를 출력합니다. |
NetHood | 현재 사용자의 NetworkShortCut 폴더를 출력합니다. |
PrintHood | 현재 사용자의 Print ShortCut 폴더를 출력합니다. |
Programs | 현재 사용자의 시작메뉴 프로그램 폴더를 출력합니다. |
Recent | 현재 사용자의 최근 사용한 항목 폴더를 출력합니다. |
SendTo | 윈도우 SendTo 폴더를 출력합니다. |
StartMenu | 현재 사용자의 윈도우 시작메뉴 폴더를 출력합니다. |
Startup | 현재 사용자의 윈도우 시작 프로그램 폴더를 출력합니다. |
Templates | 사용자의 윈도우 Templates 폴더를 출력합니다. |
2. 작성한 GetDesktopPath 함수를 통해 현재 사용자의 바탕화면 경로를 안내메세지로 띄워줍니다.
Sub 바탕화면경로_() MsgBox "현재 사용중인 컴퓨터의 바탕화면 경로는" & vbNewLine & _ "[[ " & GetDesktopPath & " ]]" & vbNewLine & _ "입니다." End Sub