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

时间:2022-10-13 22:35:35
  1. '************************************************ 
  2. ' File:Dialog.vbs (WSH sample in VBScript)  
  3. ' Author:(c) G. Born 
  4. ' Using the shell dialog box to select a folder 
  5. '************************************************ 
  6. Option Explicit 
  7. ' Flags for the options parameter 
  8. Const BIF_returnonlyfsdirs = &H0001 
  9. Const BIF_dontgobelowdomain= &H0002 
  10. Const BIF_statustext = &H0004 
  11. Const BIF_returnfsancestors= &H0008 
  12. Const BIF_editbox= &H0010 
  13. Const BIF_validate = &H0020 
  14. Const BIF_browseforcomputer= &H1000 
  15. Const BIF_browseforprinter = &H2000 
  16. Const BIF_browseincludefiles = &H4000 
  17. Dim wsh, objDlg, objF 
  18. ' Get Application object of the Windows shell. 
  19. Set objDlg = WScript.CreateObject("Shell.Application"
  20. ' Use the BrowseForFolder method. 
  21. ' For instance: Set objF = objDlg.BrowseForFolder _ 
  22. ' (&H0, "Select the folder to copy", &H10, "C:\Born"
  23. Set objF = objDlg.BrowseForFolder (&H0, _ 
  24. "Select the folder to copy", _ 
  25. BIF_editbox + BIF_returnonlyfsdirs) 
  26. ' Here we use the first method to detect the result. 
  27. If IsValue(objF) Then  
  28. MsgBox "Selected folder: " & objF.Title 
  29. Else 
  30. MsgBox "Canceled" 
  31. End If 
  32.  
  33. ' Here we use TypeName to detect the result. 
  34. If InStr(1, TypeName(objF), "Folder") > 0 Then 
  35. MsgBox "Selected folder: " & objF.Title 
  36. Else 
  37. MsgBox "Canceled" 
  38. End If 
  39.  
  40. Function IsValue(obj) 
  41. ' Check whether the value has been returned. 
  42. Dim tmp 
  43. On Error Resume Next 
  44. tmp = " " & obj 
  45. If Err <> 0 Then 
  46. IsValue = False 
  47. Else 
  48. IsValue = True 
  49. End If 
  50. On Error GoTo 0 
  51. End Function 
  52.  
  53. '*** End