Récupérer la liste de plusieurs fichiers sélectionner à partir d'une boite de dialogue de style windows 95 dans une liste bo

Soyez le premier à donner votre avis sur cette source.

Vue 4 925 fois - Téléchargée 266 fois

Description

Récupérer la liste de plusieurs fichiers sélectionner à partir d'une boite de dialogue de style windows 95 dans une liste box. (les noms e fichiers sont en mode DOS 8 caractères)

Source / Exemple :


' cdlOFNAllowMultiselect : multi-sélection
' cdlOFNNoLongNames :Afficher les noms de fichiers longs en mode DOS
  cdl.Flags = cdlOFNAllowMultiselect Or cdlOFNNoLongNames
  cdl.Filter = "*.*"
  cdl.FileName = "*.*"
  cdl.Action = 1
  List1.Clear  ' effacer la liste
  result = Trim(cdl.FileName) 'extrait le resultat de la boite de dialogue
  j = 1
  testchemin = 0
  chemin = "" 'variable pour le chemin
  For i = 1 To Len(result)
  Debug.Print Mid(result, i, 1)
    If Mid(result, i, 1) = Chr$(32) Or i = Len(result) - 1 Then
      If testchemin = 0 Then  ' extraire la première partie du résultat (le chemin)
        chemin = Trim(Mid(result, j, i))
        testchemin = 1
        j = i + 1
      Else ' extraire la partie suivante du résultat (le fichier) et lui ajouter le chemin au début
        List1.AddItem chemin + Mid(result, j, i - j)
        j = i + 1
      End If
    End If
  Next
  ' tester si la liste est vide alors c'est que le résultat contient seulement un fichier séléctionné
  If List1.ListCount = 0 Then List1.AddItem Trim(cdl.FileName)

Conclusion :


Pour sélectionner plusieurs fichiers avec common dialog il faut que l'on précise au contrôle comdlg par cette ligne :

cdl.Flags = cdlOFNAllowMultiselect Or cdlOFNNoLongNames

cdlOFNNoLongNames : extrait les noms en mode 8 caractères et non au format windows
cdlOFNAllowMultiselect : permettre la multisélection

seulement le résultat affiche comme suit :

c:\winnt\ fichier1.ext fichier2.ext fichier3.ext

la première partie c'est le chemin ensuite les autres parties sont les noms de fichiers séparer par des espaces.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
5
Par contre est ce que quelqu'un saurait comment récupérer une sélection de fichiers et DE REPERTOIRES ?

c'est pour faire une application d'archivage sur CD mais j'ai besoin de sélectionner, et des fichiers et des répertoires, pour l'archivage, tous situés dans la même racine de répertoire.
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
21
Avec un Split(), ca marche bien aussi et c'est plus court !
Messages postés
1018
Date d'inscription
samedi 22 mars 2003
Statut
Membre
Dernière intervention
24 juin 2008

Salut, pour completer et venant de www.allapi.net :

http://www.mentalis.org/apilist/GetSaveFileName.shtml

ou bien directement sur le module :
http://www.mentalis.org/apilist/1D52C7E03E3782E75B883E436E7B341B.html

Module pour se passer du controle.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.