"************************************************ " File:Dialog.vbs (WSH sample in VBScript) " Author:(c) G. Born " " Using the shell dialog box to select a folder "************************************************ Option Explicit " Flags for the options parameter Const BIF_returnonlyfsdirs = &H0001 Const BIF_dontgobelowdomain= &H0002 Const BIF_statustext = &H0004 Const BIF_returnfsancestors= &H0008 Const BIF_editbox= &H0010 Const BIF_validate = &H0020 Const BIF_browseforcomputer= &H1000 Const BIF_browseforprinter = &H2000 Const BIF_browseincludefiles = &H4000 Dim wsh, objDlg, objF " Get Application object of the Windows shell. Set objDlg = WScript.CreateObject("Shell.Application") " Use the BrowseForFolder method. " For instance: Set objF = objDlg.BrowseForFolder _ " (&H0, "Select the folder to copy", &H10, "C:Born") Set objF = objDlg.BrowseForFolder (&H0, _ "Select the folder to copy", _ BIF_editbox + BIF_returnonlyfsdirs) " Here we use the first method to detect the result. If IsValue(objF) Then MsgBox "Selected folder: " & objF.Title Else MsgBox "Canceled" End If
" Here we use TypeName to detect the result. If InStr(1, TypeName(objF), "Folder") > 0 Then MsgBox "Selected folder: " & objF.Title Else MsgBox "Canceled" End If
Function IsValue(obj) " Check whether the value has been returned. Dim tmp On Error Resume Next tmp = " " & obj If Err <> 0 Then IsValue = False Else IsValue = True End If On Error GoTo 0 End Function