'************************************************ ' 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