OVH Cloud OVH Cloud

comdlg 32

1 réponse
Avatar
lou
bonjour
voila je me serts du comdlg 32 pour ajouter des fichiers a une liste et ça
fonctionne mais ce que je voudrais c'est de pouvoir ajouter un repertoire
entier comment faire voici le bout de code que j'ai merci de le corriger si
possible

SelectFileDialog.CancelError = True
On Error GoTo ErrHandler
SelectFileDialog.Flags = cdlOFNHideReadOnly
SelectFileDialog.FilterIndex = 2
SelectFileDialog.ShowOpen
Elenco.AddItem SelectFileDialog.FileName


lou

1 réponse

Avatar
Raymond [mvp]
Bonjour.

je te préconise d'utiliser l'api openfile, qui est compatible toutes
versions et plus facile d'utilisation dans ton cas.
Tu places l'api openfile dans un module standard : tu la télécharges sur :
http://access.seneque.free.fr/ouverture_document.htm
tu places cette fonction dans ton formulaire:
Me.Modifiable49.RowSource = Replace(OpenFile(CurrentProject.Path),
vbNullChar, ";")
tu trouveras la liste des fichiers sélectionnés dans le rowsource, ainsi que
le répertoire en itemdata(0).
ne pas oublier que le rowsource en liste de valeurs ne dépasse pas 4Ko.

Tu as aussi la possibilité d'utiliser la fonction filesearch qui te ramène
tous les fichiers du répertoire et même des sous-sous-répertoires et qui ne
demande pas d'intervention... et qui est plus facile de manipulation, mais
sous version 2000 & +
tu places cette fonction dans ton formulaire:
Option Compare Database
Option Explicit

Private Sub Commande48_Click()
Me.Modifiable49.RowSource = Chercher("c:", "*.*", False)
End Sub

Public Function Chercher(NomDuChemin As String, NomDuFichier As String,
Sous_répertoires As Boolean) As String
On Error Resume Next
Dim I As Integer
Dim Réponse As String
Réponse = ""
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
.SearchSubFolders = Sous_répertoires
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
Réponse = Réponse & .FoundFiles(I) & ";"
Next I
End If
End With
Chercher = Réponse
End Function

tes fichiers seront directement dans ton rowsource.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"lou" a écrit dans le message de
news:402f7f2c$0$317$
bonjour
voila je me serts du comdlg 32 pour ajouter des fichiers a une liste et ça
fonctionne mais ce que je voudrais c'est de pouvoir ajouter un
repertoire

entier comment faire voici le bout de code que j'ai merci de le corriger
si

possible

SelectFileDialog.CancelError = True
On Error GoTo ErrHandler
SelectFileDialog.Flags = cdlOFNHideReadOnly
SelectFileDialog.FilterIndex = 2
SelectFileDialog.ShowOpen
Elenco.AddItem SelectFileDialog.FileName


lou