[vbs][wsh]
'----------------------------- 'デスクトップのパスを取得 '----------------------------- Public Const CNST_STR_DESKTOP = "Desktop" Dim s_DesktopPath Set objWShell = CreateObject("WScript.Shell") s_DesktopPath = objWShell.SpecialFolders(CNST_STR_DESKTOP) Set objWShell = Nothing '-------------------------------------- 'フォルダを指定 '-------------------------------------- Dim objShell ' Shell オブジェクト Dim objFolder ' フォルダ情報 Const BIF_RETURNONLYFSDIRS = &H1 Dim InputdataPath Set objShell = WScript.CreateObject("Shell.Application") If Err.Number = 0 Then Set objFolder = objShell.BrowseForFolder(0, "データフォルダを選択して下さい", BIF_RETURNONLYFSDIRS) If Not objFolder Is Nothing Then Select Case objFolder Case "デスクトップ" 'Shell.BrowseForFolder でデスクトップを選択した場合 ' .Items.Item.Path ではErr.Number = 91 が発生するため InputdataPath = s_DesktopPath Case Else InputdataPath = objFolder.Items.Item.Path End Select 'WScript.Echo objFolder.Items.Item.Path End If 'Set objFolder = objShell.BrowseForFolder(0, "Cドライブ", 0, "C:\") 'If Not objFolder Is Nothing Then ' WScript.Echo objFolder.Items.Item.Path 'End If 'Set objFolder = objShell.BrowseForFolder(0, "スタートメニュー", 0, &HB) 'If Not objFolder Is Nothing Then ' WScript.Echo objFolder.Items.Item.Path 'End If Else 'WScript.Echo "エラー:" & Err.Description MsgBox "エラー:" & Err.Description End If
ネタ元