Multiselect avec commondialog

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 877 fois - Téléchargée 38 fois

Contenu du snippet

Voici la façon que j'ai utilisée pour effectuer un multiselect avec un commondialog... Peut etre qu'il existe une façon plus simple mais je n'ai pas trouvé.
De plus celle-çi fonctionne très bien.
Si ça peut servir à quelqu'un...

Source / Exemple :


Dim Fichier() As String
Dim n As Integer

Private Sub Form_Load()
'Initialisation du commondialog
    CommonDialog1.Flags = &H200 Or &H80000      'Permet le multiselect (200)
                                                'et la boite de dialogue est de type explorateur (80000)
    CommonDialog1.MaxFileSize = 32767           'Nombre de caractères maximum du multiselect (Valeur par défaut=256)
End Sub

Private Sub Command1_Click()
    CommonDialog1.ShowOpen
    If CommonDialog1.FileTitle = "" Then
        iprecedent = 0
        n = -1
        For i = 1 To Len(CommonDialog1.FileName)
            If Asc(Mid(CommonDialog1.FileName, i, 1)) = 0 Then
                n = n + 1
                ReDim Preserve Fichier(0 To n) As String
                Fichier(n) = Mid(CommonDialog1.FileName, iprecedent + 1, i - iprecedent - 1)
                iprecedent = i
            End If
        Next
        n = n + 1
        ReDim Preserve Fichier(0 To n) As String
        Fichier(n) = Mid(CommonDialog1.FileName, iprecedent + 1, i - iprecedent - 1)
        
        'Placer ici le code a effectuer lors d'une sélection multiple
        '[FileTitle du fichier n = Fichier(n)]
        '[FileName du fichier n = Fichier(0) & "\" & Fichier(n)]
    
    Else
    
        'Placer ici le code a effectuer lors d'une sélection simple
        
    End If
End Sub

A voir également

Ajouter un commentaire

Commentaires

Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58 -
plein d'autres flags existent pour le ShowSave / ShowOpen

cherches cdlofn dans l'explorateur d'objets de VB (touche F2)
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58 -
utilises une autre boite de dialogue standard, pour selectionner un repertoire...

http://www.vbfrance.com/codes/SELECTION-DOSSIER-AVEC-BOUTON-NOUVEAU-DOSSIER_17270.aspx
pointbin
Messages postés
71
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2010
-
maintenent c'est plus claire, alors ce sont des variable predefini qui d'apres leurs nom donne une idée du fonctionnement.
pour le showSave est ce qu'il y a un moyen de sélectionner seulement le dossier ou je veux sauvegarder sans avoir a donner un nom de fichier.
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58 -
&h200 Or &h80000 ...
ou comment rendre du code obscur !

cdlOFNExplorer or cdlOFNAllowMultiselect est plus lisible, non ?
pointbin
Messages postés
71
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2010
-
ça aide beaucoup le
'Initialisation du commondialog
CommonDialog1.Flags = &H200 Or &H80000 'Permet le multiselect (200)
'et la boite de dialogue est de type explorateur (80000)
CommonDialog1.MaxFileSize = 32767
merci.

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.