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