特殊フォルダのパスを取得する@VBS

特殊フォルダのパスを取得する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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です