【VBA】マイフォルダ(デスクトップ、ドキュメント、ダウンロード)のフルパスを取得する

VBA

Excel VBA 一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

 

前回

【VBA】Excel PDF出力する方法 (1行のスクリプトでOK!)
今回は、PDF出力してみましょう。 といっても、とても簡単です。 スクリプト的には1行で終わりです。

PDFファイルを出力したのですが、
その際に、パスを指定する場合は、フルパスで指定する必要があります。

なので今回は、「デスクトップ」、「ダウンロード」、「ドキュメント」の
フォルダをフルパスで取得する方法です。

  • デスクトップ
CreateObject("WScript.Shell").SpecialFolders("desktop")

で、「デスクトップ」が取得できます。

Sub GetMyFullPath()

Dim upath As String

'デスクトップ
upath = CreateObject("WScript.Shell").SpecialFolders("desktop")
Debug.Print upath

End Sub

 

同様に「ドキュメント」も取得できます。

'ドキュメント
upath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
Debug.Print upath

ただ、「ダウンロード」は、

CreateObject("WScript.Shell").SpecialFolders("Downloads")

としても取得できません。

なので、一旦パスを取得し置換します。

    'ダウンロード
    upath = Replace(upath, "\Documents", "\Downloads", 1, 1)
    Debug.Print upath

 

例)

Sub GetMyFullPath()

Dim upath As String

'デスクトップ
upath = CreateObject("WScript.Shell").SpecialFolders("desktop")
Debug.Print upath


'ドキュメント
upath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
Debug.Print upath


'ダウンロード
upath = Replace(upath, "\Documents", "\Downloads", 1, 1)
Debug.Print upath

End Sub

 

実行結果

 

ついでに、3つのパスのいずれかを取得する処理を作ってみました。

Const ID_DESKTOP = 0 'デスクトップ
Const ID_DOCUMENT = 1 'ドキュメント
Const ID_DOWNLOAD = 2 'ダウンロード

'テスト用の呼び元
Sub sampleGetPath()
'デスクトップのフルパスを取得
Debug.Print GetMyPath(ID_DESKTOP)

'ドキュメントフォルダのフルパスを取得
Debug.Print GetMyPath(ID_DOCUMENT)

'ダウンロードフォルダのフルパスを取得
Debug.Print GetMyPath(ID_DOWNLOAD)

End Sub

'-------------------------------------------------------
'フルパスを取得する
'id
'ID_DESKTOP デスクトップ
'ID_DOCUMENT ドキュメント
'ID_DOWNLOAD ダウンロード
'戻り値 指定されたIDのフルパス(c:\
'-------------------------------------------------------
Function GetMyPath(id)

Dim upath As String

'とりあえずデスクトップで作成する
upath = CreateObject("WScript.Shell").SpecialFolders("desktop")

'ドキュメントとダウンロードは置換する
Select Case id
Case ID_DOCUMENT
upath = Replace(upath, "\Desktop", "\Document", 1, 1)

Case ID_DOWNLOAD
upath = Replace(upath, "\Desktop", "\Downloads", 1, 1)
End Select

GetMyPath = upath

End Function

最後までご覧いただきありがとうございます。

つぎはこちら

Excel バージョンを確認する方法(2019)
Excel一覧 前回 Excelのバージョンを確認する方法です。(2019) 確認方法 ①「ファイル」をクリックする ①「アカウント」をクリックする ②画面右側にバージョンが表示される ...

Excel VBA 一覧

コメント

タイトルとURLをコピーしました