VBA-Excel, boite de dialogue "sélectionner un dossier"
bonjour
en surfant sur le net afin de rechercher des info sur la possibilité de créé un script qui permette créer une boîte de dialogue permettant de sélectionner un dossier ou un fichier, j'ai trouvé un code qui marche trés bien mais j'aimerai comprendre le code parceque je n'y comprend rien la.
voici le code :
Code:
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
|
Function ChoixDossierFichier(SelType As Byte) As String
Dim objShell As Object, objFolder As Object
Dim Chemin As String, Msg As String
Dim FlagChoix As Long, NbPoint As Integer
If SelType = 0 Then
FlagChoix = &H1
Msg = "Sélectionner un dossier :"
Else
FlagChoix = &H4000
Msg = "Sélectionner un fichier :"
End If
Set objShell = CreateObject("Shell.Application")
' &h1
' 1er paramètre toujours 0 (zéro). Il représente le handle de la fenêtre parent
' &h1
' 2ème paramètre Titre de la boite, en dessous de la barre de titre
' &h1
' 3ème paramètre options de BrowseForFolder
' &h1
' 4ème paramètre Facultatif. Répertoire de début d'exploration
On Error Resume Next
Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
' &h1
'Si l 'objet retourné est valide, on teste son contenu (item.title)
'Si on a sélectionné la racine d'une partition, il se compose du nom de la partition,
' suivi de sa lettre et ":" entre parenthèses
NbPoint = InStr(objFolder.Title, ":")
If NbPoint = 0 Then
' &h1
'Sinon, il se compose du nom du dossier uniquement, sans le chemin précédent
'On récupère ce chemin à l'aide des propriété et méthode ParentFolder.ParseName
Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).path & ""
Else
' &h1
' si racine on récupère la lettre du lecteur et les 2 points
Chemin = Mid(objFolder.Title, NbPoint - 1, 2)
End If
ChoixDossierFichier = Chemin
End Function |
il y a plusieur ligne que je ne comprend pas comme par exemple :
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).path & ""
a quoi sert CreateObject() et a quoi correspond Shell.Application
a quoi correspond BrowseForFolder(&H0&, Msg, FlagChoix)?....
auriez vous un site qui explique en détail cela, car je ne sais pas ou chercher sur internet pour trouver un site qui traite de ça??