Accueil > > > EXPLOREDOSSIER : AFFICHER LES FICHIERS DANS UN DOSSIER, ET ÉVENTUELLEMENT SES SOUS-DOSSIERS
EXPLOREDOSSIER : AFFICHER LES FICHIERS DANS UN DOSSIER, ET ÉVENTUELLEMENT SES SOUS-DOSSIERS
Information sur la source
Description
Analyse des sous-dossiers au choix. Utile pour avoir une liste rapide des fichiers d'un dossier. Perso, je m'en sert souvent.
Source
- Dim Dossier_choisi As String
- Private Type BrowseInfo
- hWndOwner As Long
- pIDLRoot As Long
- pszDisplayName As Long
- lpszTitle As Long
- ulFlags As Long
- lpfnCallback As Long
- lParam As Long
- iImage As Long
- End Type
- Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
- Private Declare Function lstrcat Lib "kernel32" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
- Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
- Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
- Private Sub ecrire(A_ecrire As String, Optional Gras As Boolean, Optional Couleur As Long)
- Etat.SelStart = Len(Etat)
- Etat.SelBold = Gras
- If Not (IsMissing(Couleur)) Then
- Etat.SelColor = Couleur
- Else
- Etat.SelColor = vbBlack
- End If
- Etat.SelText = A_ecrire & vbNewLine
- Etat.SelBold = False
- Etat.SelColor = vbBlack
- End Sub
- Public Function explorer(ByVal Chemin As String)
- On Error Resume Next
- Dim id_1 As Integer
- Dim id_2 As Integer
- Dim id_3 As Integer
- Dim ids() As String
- Dim dossier_courant As String
- If Dir(Chemin, vbDirectory) = "" Then
- Exit Function
- End If
- dossier_courant = Dir(Chemin, vbDirectory)
- Do While dossier_courant <> ""
- If dossier_courant <> "." And dossier_courant <> ".." Then
- If (GetAttr(Chemin & dossier_courant) And vbDirectory) <> 0 Then
- id_1 = id_1 + 1
- End If
- End If
- dossier_courant = Dir
- Loop
- ReDim ids(id_1)
- dossier_courant = Dir(Chemin, vbDirectory)
- Do While dossier_courant <> ""
- If dossier_courant <> "." And dossier_courant <> ".." Then
- If (GetAttr(Chemin & dossier_courant) And vbDirectory) <> 0 Then
- id_2 = id_2 + 1
- ids(id_2) = dossier_courant
- If Afficher_sous_dossiers.Value <> 0 Then
- ecrire dossier_courant, True
- End If
- Else
- ecrire dossier_courant
- End If
- End If
- dossier_courant = Dir
- Loop
- For id_3 = 1 To id_1
- If Sous_dossiers.Value <> 0 Then
- explorer Chemin & ids(id_3) & "\"
- End If
- Next
- End Function
- Private Sub Parcourir_Click()
- Dim Rien As Integer
- Dim Liste As Long
- Dim Resultat As String
- Dim Browse_info As BrowseInfo
- With Browse_info
- .hWndOwner = Me.hWnd
- .lpszTitle = lstrcat("Choix du dossier à analyser", "")
- .ulFlags = 1
- End With
- Liste = SHBrowseForFolder(Browse_info)
- If Liste Then
- Resultat = String$(260, 0)
- SHGetPathFromIDList Liste, Resultat
- CoTaskMemFree Liste
- Rien = InStr(Resultat, vbNullChar)
- If Rien Then
- Dossier_choisi = Left$(Resultat, Rien - 1)
- MsgBox "Le dossier choisi est :" & vbNewLine & Dossier_choisi, vbInformation
- End If
- End If
- End Sub
- Private Sub Parti_Click()
- If Dossier_choisi = "" Then
- MsgBox "Vous devez sélectionner un dossier à analyser.", vbExclamation
- Exit Sub
- End If
- If Right(Dossier_choisi, 1) <> "\" Then
- Dossier_choisi = Dossier_choisi & "\"
- End If
- Parcourir.Enabled = False
- Sous_dossiers.Enabled = False
- Afficher_sous_dossiers.Enabled = False
- Parti.Enabled = False
- Etat.Text = ""
- ecrire "C'est parti dans " & Dossier_choisi, True, vbBlue
- explorer Dossier_choisi
- ecrire "C'est fini !", True, vbBlue
- Parcourir.Enabled = True
- Sous_dossiers.Enabled = True
- Afficher_sous_dossiers.Enabled = True
- Parti.Enabled = True
- End Sub
Dim Dossier_choisi As String
Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Sub ecrire(A_ecrire As String, Optional Gras As Boolean, Optional Couleur As Long)
Etat.SelStart = Len(Etat)
Etat.SelBold = Gras
If Not (IsMissing(Couleur)) Then
Etat.SelColor = Couleur
Else
Etat.SelColor = vbBlack
End If
Etat.SelText = A_ecrire & vbNewLine
Etat.SelBold = False
Etat.SelColor = vbBlack
End Sub
Public Function explorer(ByVal Chemin As String)
On Error Resume Next
Dim id_1 As Integer
Dim id_2 As Integer
Dim id_3 As Integer
Dim ids() As String
Dim dossier_courant As String
If Dir(Chemin, vbDirectory) = "" Then
Exit Function
End If
dossier_courant = Dir(Chemin, vbDirectory)
Do While dossier_courant <> ""
If dossier_courant <> "." And dossier_courant <> ".." Then
If (GetAttr(Chemin & dossier_courant) And vbDirectory) <> 0 Then
id_1 = id_1 + 1
End If
End If
dossier_courant = Dir
Loop
ReDim ids(id_1)
dossier_courant = Dir(Chemin, vbDirectory)
Do While dossier_courant <> ""
If dossier_courant <> "." And dossier_courant <> ".." Then
If (GetAttr(Chemin & dossier_courant) And vbDirectory) <> 0 Then
id_2 = id_2 + 1
ids(id_2) = dossier_courant
If Afficher_sous_dossiers.Value <> 0 Then
ecrire dossier_courant, True
End If
Else
ecrire dossier_courant
End If
End If
dossier_courant = Dir
Loop
For id_3 = 1 To id_1
If Sous_dossiers.Value <> 0 Then
explorer Chemin & ids(id_3) & "\"
End If
Next
End Function
Private Sub Parcourir_Click()
Dim Rien As Integer
Dim Liste As Long
Dim Resultat As String
Dim Browse_info As BrowseInfo
With Browse_info
.hWndOwner = Me.hWnd
.lpszTitle = lstrcat("Choix du dossier à analyser", "")
.ulFlags = 1
End With
Liste = SHBrowseForFolder(Browse_info)
If Liste Then
Resultat = String$(260, 0)
SHGetPathFromIDList Liste, Resultat
CoTaskMemFree Liste
Rien = InStr(Resultat, vbNullChar)
If Rien Then
Dossier_choisi = Left$(Resultat, Rien - 1)
MsgBox "Le dossier choisi est :" & vbNewLine & Dossier_choisi, vbInformation
End If
End If
End Sub
Private Sub Parti_Click()
If Dossier_choisi = "" Then
MsgBox "Vous devez sélectionner un dossier à analyser.", vbExclamation
Exit Sub
End If
If Right(Dossier_choisi, 1) <> "\" Then
Dossier_choisi = Dossier_choisi & "\"
End If
Parcourir.Enabled = False
Sous_dossiers.Enabled = False
Afficher_sous_dossiers.Enabled = False
Parti.Enabled = False
Etat.Text = ""
ecrire "C'est parti dans " & Dossier_choisi, True, vbBlue
explorer Dossier_choisi
ecrire "C'est fini !", True, vbBlue
Parcourir.Enabled = True
Sous_dossiers.Enabled = True
Afficher_sous_dossiers.Enabled = True
Parti.Enabled = True
End Sub
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|