GetDesktopPath 함수 사용법 및 전체 명령문:: 바탕화면 경로 반환

컴퓨터의 바탕화면 경로를 출력하는 GetDesktopPath 함수의 사용법 및 전체명령문 동작원리를 알아봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2021. 10. 31. 17:18
URL 복사
메모 남기기 : (1)

GetDesktopPath 함수 (바탕화면경로 출력) :: VBA 사용자 지정 함수

예제파일

요약

GetDesktopPath 함수는 사용자 컴퓨터의 바탕화면 경로를 출력하는 함수입니다.

설명

GetDesktopPath 함수는 사용자 컴퓨터의 바탕화면 경로를 출력하는 함수입니다. 바탕화면 경로는 윈도우의 사용환경에 따라 달라질 수 있습니다. 따라서 WScript.Shell 개에서 바탕화면 경로를 받아오는 것을 권장합니다.

지정한 경로에 파일이 존재하는지 확인이 필요할 경우 FileExists 함수를 사용할 수 있습니다.

윈도우의 파일명에는 사용할 수 없는 몇가지 특수기호가 있습니다. 입력한 파일명이 유효한지 확인하려면 ValidFileName 함수를 사용하세요.

VBA GetDesktopPath 함수 사용법
현재 사용자의 바탕화면 경로를 반환합니다.

반환값

사용중인 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
5 1 투표
게시글평점
1 댓글
Inline Feedbacks
모든 댓글 보기
1
0
여러분의 생각을 댓글로 남겨주세요.x