1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| Call BrowseFolder
Sub BrowseFolder
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 shell, item
Set shell = WScript.CreateObject("Shell.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
titre="Veuillez SVP choisir un dossier:"
flag=BIF_editbox
dirinit = BIF_returnonlyfsdirs
Set Item = shell.BrowseForFolder(&H0,titre,flag+dirinit)
If isvalue(Item) Then
strDirectory=Item.Title
' Test si on a sélectionné la racine d'une partition
If InStr(1,strDirectory,":")=0 Then
strDirectory=Item.ParentFolder.ParseName(Item.Title).Path
End If
MsgBox "Vous avez choisi : " & strDirectory,64, "Choix du Dossier"
' Ouverture du Dossier par l'explorateur windows
If err.number = vbEmpty then
Set objShell = CreateObject("WScript.Shell")
objShell.run ("Explorer" &" " & strDirectory & "\" )
Else
WScript.echo "VBScript Error: " & err.number
End If
else
MsgBox "Vous avez choisi d'annuler l'opération !",64,"Choix du Dossier"
End If
Wscript.quit
end sub
'--------------------------------------------------------------
' Test de validité de l'objet retourné par BrowseForFolder
' On ne peut pas utiliser "IsObject", qui retourne toujours "true"
Function IsValue(obj)
Dim tmp
On Error Resume Next
tmp = " " & obj
If Err <> 0 Then IsValue = False Else IsValue = True
On Error GoTo 0
End Function |
Partager