このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【Shell】特殊フォルダパス一覧(VBAからも使える)

2024年9月27日

ドキュメントやデスクトップといった特殊フォルダは、ユーザーによってパスが異なります。
例えば、ドキュメントのパスは「C:\Users\ユーザ名\Documents」となる。

そのため、特殊フォルダにアクセスするプログラムを書く時には、誰でも使えるように少し工夫をする必要があります。
具体的にはShellという機能を使います。

今回はこのShellを使って特殊フォルダのパスを取得する方法を紹介します。

また、各特殊フォルダにアクセスするための文字列を一覧表でご紹介します。

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

Shellを使って特殊フォルダのパスを取得する方法

Sub GetDocumentFolderPath()
    
    'Windows Script Hostのオブジェクトを取得
    Dim wsh As Object
    Set wsh = CreateObject("WScript.Shell")
    
    Debug.Print wsh.SpecialFolders("MyDocuments")
    
End Sub

サンプルとして、ドキュメントフォルダのパスを取得するコードを紹介します。

最初にCreateObjectでShellを使えるようにします。CreateObject(“WScript.Shell")の部分

あとは、作成したオブジェクトに対してSpecialFolders(“特殊フォルダの文字列")とすることでフォルダパスを得ることができます。

このサンプルコードをコピペして、特殊フォルダの文字列の箇所を変更して活用してみてください。

特殊フォルダの文字列は、この後に一覧表を記載します。

特殊フォルダの文字列一覧表

文字列説明得られるパス
AllUsersDesktopすべてのユーザに共通のデスクトップC:\Users\Public\Desktop
AllUsersStartMenuすべてのユーザに共通のプログラムメニューC:\ProgramData\Microsoft\Windows\Start Menu
AllUsersProgramsすべてのユーザに共通の全てのプログラムC:\ProgramData\Microsoft\Windows\Start Menu\Programs
AllUsersStartupすべてのユーザに共通のスタートアップC:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
AppDataユーザのアプリ用データC:\Users\ユーザ名\AppData\Roaming
PrintHoodプリンタフォルダC:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
Templates新規作成のテンプレートC:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Templates
FontsインストールされているフォントC:\Windows\Fonts
NetHoodネットワークに表示される共有フォルダの情報C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Network Shortcuts
DesktopデスクトップC:\Users\ユーザ名\Desktop
StartMenuスタートメニューC:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu
SendTo送るメニューC:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\SendTo
Recent最近使ったファイルC:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Recent
StartupユーザのスタートアップC:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Favoritesお気に入りC:\Users\ユーザ名\Favorites
MyDocumentsドキュメントC:\Users\ユーザ名\Documents
ProgramsユーザのプログラムメニューC:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
特殊フォルダの文字列一覧表

特殊フォルダの文字列一覧表はこのように使います。

よく使う特殊フォルダはマークアップしたので参考にしてみてください。

《VBA上級者になりたい人へ》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

created by Rinker
技術評論社
¥3,608 (2024/11/10 14:27:38時点 Amazon調べ-詳細)
VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい