CreateObject 関数:特殊フォルダを取得(WSH.SpecialFolders)
Windows Scripting Host(WSH)のSpecialFolders プロパティを使うと、Windows の特殊フォルダ(マイドキュメントやデスクトップなど)のパスを取得することができます。WSH を使用するには、CreateObject 関数 を使用します。
【構文】
<name で指定した特殊フォルダのパスを取得>
Dim wsh [ As Object ]
Set wsh = CreateObject (“WScript.Shell”)
path = wsh.SpecialFolders(findex)
引数・戻り値
- wsh ・・・ Windows Scripting Host(WSH)のオブジェクト
- findex ・・・ 取得したい特殊フォルダ(文字列または値)を指定します。
※ 文字列を指定する場合は、“ で囲みます(”AllUsersDesktop”)。
文字列 値 内容 AllUsersDesktop 0 すべてのユーザーに共通のデスクトップ AllUsersStartMenu 1 すべてのユーザーに共通のスタートメニュー AllUsersPrograms 2 すべてのユーザーに共通のプログラムメニュー AllUsersStartup 3 すべてのユーザーに共通のスタートアップ Desktop 4 ログインユーザーのデスクトップ AppData 5 ログインユーザーのアプリ用データ PrintHood 6 ログインユーザーのプリンタ Templates 7 ログインユーザーの新規作成のテンプレート Fonts 8 フォント NetHood 9 ログインユーザーのネットワーク Desktop 10 ログインユーザーのデスクトップ StartMenu 11 ログインユーザーのスタートメニュー SendTo 12 ログインユーザーの送る Recent 13 ログインユーザーの最近使ったファイル Startup 14 ログインユーザーのスタートアップ Favorites 15 ログインユーザーのお気に入り MyDocuments 16 ログインユーザーのマイドキュメント Programs 17 ログインユーザーのプログラムメニュー - path ・・・ findex で指定した特殊フォルダのパス
Windows 特殊フォルダ取得 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub Sample_SpecialFolder() Dim wsh As Object Set wsh = CreateObject("WScript.Shell") MsgBox wsh.specialfolders("AllUsersDesktop") & vbCrLf & _ wsh.specialfolders("AllUsersStartMenu") & vbCrLf & _ wsh.specialfolders(2) & vbCrLf & _ wsh.specialfolders("MyDocuments") Set wsh = Nothing End Sub |