当前位置:首页 >> 脚本专栏

Windows Script Host之用vbs实现[浏览文件夹]功能

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