2007/10/2 火曜日

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

Filed under: スクリプト — pnpk @ 1:09:16

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

(使用例)デスクトップのパスを表示します。

Dim strTmpDir
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

Popularity: 5%

コメント (0) »

この記事にはまだコメントがついていません。

コメント RSS トラックバック URI

コメントをどうぞ

HTML convert time: 0.522 sec. Powered by WordPress ME