特殊フォルダのパスを取得するFunctionを作りました。
以下のディレクトリパスが取得出来ます。
デスクトップ(共通)
スタートメニュー(共通)
スタートメニュー内の「プログラム」フォルダ(共通)
スタートメニュー内の「スタートアップ」フォルダ(共通)
デスクトップ
お気に入り
フォント
マイドキュメント
マイネットワーク
プリンタ
スタートメニュー内の「プログラム」フォルダ
最近使ったファイル
送るメニュー
スタートメニュー
スタートメニュー内の「スタートアップ」フォルダ
テンプレート
WINDOWSディレクトリ
システムディレクトリ
テンポラリディレクトリ
'////////////////////////////////// 'Function GetSpecialFolder '特殊フォルダのパスを取得します。 '呼び出し方 'GetSpecialFolder() '////////////////////////////////// Function GetSpecialFolder(GFS_No) 'スペシャルフォルダ一覧 'AllUsersDesktop デスクトップ(共通) 'AllUsersStartMenu スタートメニュー(共通) 'AllUsersPrograms スタートメニュー内の「プログラム」フォルダ(共通) 'AllUsersStartUp スタートメニュー内の「スタートアップ」フォルダ(共通) 'Desktop デスクトップ 'Favorites お気に入り 'Fonts フォント 'MyDocuments マイドキュメント 'NetHood マイネットワーク 'PrintHood プリンタ 'Programs スタートメニュー内の「プログラム」フォルダ 'Recent 最近使ったファイル 'SendTo 送るメニュー 'StartMenu スタートメニュー 'Startup スタートメニュー内の「スタートアップ」フォルダ 'Templates テンプレート '0 WINDOWSディレクトリ '1 システムディレクトリ '2 テンポラリディレクトリ '----------------------------------- Dim objFS Dim objShell Dim objFolder Set objFS = CreateObject("Scripting.FileSystemObject") If IsNumeric(GFS_No) = true Then Set objFolder = objFS.GetSpecialFolder(GFS_No) GetSpecialFolder = objFolder.Path Else Set objShell = WScript.CreateObject("WScript.Shell") GetSpecialFolder = objShell.SpecialFolders(GFS_No) End If Set objFS = Nothing Set objShell = Nothing Set objFolder = Nothing End Function
(使用例)デスクトップのパスを表示します。
msgbox GetSpecialFolder("Desktop") Function GetSpecialFolder(GFS_No) Dim objFS Dim objShell Dim objFolder Set objFS = CreateObject("Scripting.FileSystemObject") If IsNumeric(GFS_No) = true Then Set objFolder = objFS.GetSpecialFolder(GFS_No) GetSpecialFolder = objFolder.Path Else Set objShell = WScript.CreateObject("WScript.Shell") GetSpecialFolder = objShell.SpecialFolders(GFS_No) End If Set objFS = Nothing Set objShell = Nothing Set objFolder = Nothing End Function