IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6]selectionner un répertoire


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 13
    Par défaut [VB6]selectionner un répertoire
    dans une application VB 6.0 je veux donner à l'utilisateur la possibilité de selectionner un répertoire sans qu'il soit nécesaire pour lui de sélectionner un fichier.

    par avance merci.

  2. #2
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Salut,

    Alors voici une solution qui fonctionne

    Il y a la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Public Function SelectFolder(Titre As String, Handle As Long) As String
    ' Fonction de sélection d'un répertoire à partir d'une fenêtre standard type application Windows
    Dim lpIDList As Long
    Dim strBuffer As String
    Dim strTitre As String
    Dim tBrowseInfo As BrowseInfo
    Dim fs
    Set fs = CreateObject("Scripting.FileSystemObject")
     
    strTitre = Titre
    With tBrowseInfo
        .hWndOwner = Handle
        .lpszTitle = lstrcat(strTitre, "")
        .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
    End With
     
    lpIDList = SHBrowseForFolder(tBrowseInfo)
     
    If (lpIDList) Then
        strBuffer = String(260, vbNullChar)
        SHGetPathFromIDList lpIDList, strBuffer
        SelectFolder = Left(strBuffer, InStr(strBuffer, vbNullChar) - 1)
    End If
     
    End Function
    Et ceci est à mettre dans les déclarations principales:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    ' Partie de code nécessaire pour l'ouverture d'une fenêtre de choix de répertoire
    ' code trouvé sur Internet et libre de droit
    Private Const BIF_RETURNONLYFSDIRS = 1
    Private Const BIF_DONTGOBELOWDOMAIN = 2
     
    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 Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, _
        ByVal lpString2 As String) As Long
     
    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
    Bonne continuation

    Théo

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 13
    Par défaut sélectionner un répertoire
    Merci beaucoup.

    J'ai utilisé une autre solution qui consiste à sélectionner un fichier avec une CommonDialog box.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6]changer de répertoire de travail
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/05/2006, 20h36
  2. [VB6] Sélectionner certains enregistrements dans une table
    Par li_causi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/05/2006, 14h28
  3. [VB6] Copier un répertoire
    Par Sytchev3 dans le forum VB 6 et antérieur
    Réponses: 20
    Dernier message: 07/04/2006, 16h12
  4. VB6: récupérer le répertoire d'installation de l'application
    Par getea85 dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 28/12/2005, 15h12
  5. [JFilechooser] selectionner un répertoire OU un fichier
    Par pierre.zelb dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 05/08/2005, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo