Les Snippets

Connexion

Boite de dialogue pour choisir un Répertoire

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 08/12/2007 14:15:06 et initié par us_30 [Liste]
Date de mise à jour : 26/12/2007 14:07:58
Vue : 15567
Catégorie(s) : Fichier / Disque
Langages dispo pour ce code :
- VBA
- VB6, VBA
- VB 2005, VB.NET 1.x
- Javascript
- VB 2005
- VB6, VBA



Langage : VBA
Date ajout : 08/12/2007
Posté par us_30 [Liste]
DateMAJ : 09/12/2007

Function DirOpen() As String
' CHOIX D'UN DOSSIER PAR VBA


    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    Dim vrtSelectedItem As Variant
    With fd
        If .Show = -1 Then
            For Each vrtSelectedItem In .SelectedItems
                DirOpen = vrtSelectedItem
            Next vrtSelectedItem
        Else
            DirOpen = VbNulllString
        End If
    End With
    Set fd = Nothing
End Function

Langage : VB6 , VBA
Date ajout : 08/12/2007
Posté par us_30 [Liste]
DateMAJ : 13/12/2007
'Clés pour  BrowseAndCreate
Public Enum ctConfigBrowse
    PrtButtonOkCancel = -273
    PrtButtonOkCancelInfo = -17
    PrtButtonOkCancelTextbox = -1
    ButtonCreateOKCancel = 0
    ButtonCreateOKCancelTextBox = 16
    ButtonCreateOKCancelInfo = 256
    ButtonOkCancel = 512
    ButtonOkCancelTextbox = 528
End Enum
'Clés pour BrowseAndCreate
Public Enum ctConfigDir
    DirExplorer = 'Interdit
    DirProgrammeUser
    DirPanneauDeConfiguration
    DirImprimantesEtTelecopieurs
    DirMesDocuments
    DirFavorisUser
    DirDemarrageUser
    DirDocumentsRecents
    DirSendTo
    DirCorbeille
    DirMenuDemarrer
    DirBureau
    DirMaMusique
    DirMesVideosUser
    DirPosteDeTravail = 17
    DirFavorisReseau
    DirVoisinReseau
    DirFonts
    DirModelesUser
    DirMenuDemarrerPrgramme
    DirProgrammeAllUser
    DirDemarrageAllUser
    DirApplicationDataUser = 26
    DirVoisinageImpression
    DirLocalSettingsApplicationData
    DirFavorisAllUser = 31
    DirTemporaryInternetFilesUser
    DirCookiesUser
    DirHistoriqueUser
    DirApplicationDataAllUser
    DirWindows
    DirWindowsSystem32
    DirProgramFiles
    DirMesImagesUser
    DirUser
    DirFichiersCommuns = 43
    DirModeleAllUser = 45
    DirDocumentsPartages
    DirOutilsAdministrationAllUser
    DirOutilsAdministrationUser
    DirConnexionReseau
    DirMaMusiqueAllUser = 53
    DirMesImagesAllUser
    DirMesVideosAllUser
    DirRessources
    DirResources040c
    DirCDBurning = 59
End Enum

Function BrowseAndCreate(hWnd As LongOptional Title As String = "Rechercher...", _
    Optional ConfigBox As ctConfigBrowse =  ButtonCreateOKCancelTextBox, _
    Optional ByVal ConfigDir As ctConfigDir = DirPosteDeTravail)  As String
    
'    CHOIX  REPERTOIRE
    Dim Shell As Variant, Folder As Variant
    Set Shell CreateObject("Shell.Application")
    
    On Error Resume Next
    Set Folder = Shell.BrowseForFolder(hWnd, Title, ConfigBox,  CInt(ConfigDir))
    BrowseAndCreate = Folder.items.Item.Path
    
    If LenB(BrowseAndCreate) = Then
        BrowseAndCreate = vbNullString
    ElseIf LeftB$(BrowseAndCreate, 4) = "::" Then
        BrowseAndCreate = vbNullString
    Else
        If Not (RightB$(BrowseAndCreate, 2) = "\"Then BrowseAndCreate = BrowseAndCreate & "\"
    End If
    
    Set Folder = Nothing
    Set Shell Nothing
End Function

Remarque :
VBA :
MsgBox BrowseAndCreate(0&) ' ou le hwnd d'une picturebox ou autre

VB6 :
MsgBox BrowseAndCreate(Me.hWnd)
Langage : VB.NET 1.x , VB 2005
Date ajout : 09/12/2007
Posté par PCPT [Liste]
DateMAJ : 13/12/2007
'Clés pour  BrowseAndCreate
Public Enum ctConfigBrowse
    PrtButtonOkCancel = -273
    PrtButtonOkCancelInfo = -17
    PrtButtonOkCancelTextbox = -1
    ButtonCreateOKCancel = 0
    ButtonCreateOKCancelTextBox = 16
    ButtonCreateOKCancelInfo = 256
    ButtonOkCancel = 512
    ButtonOkCancelTextbox = 528
End Enum
'Clés pour BrowseAndCreate
Public Enum ctConfigDir
    DirExplorer = 'Interdit
    DirProgrammeUser
    DirPanneauDeConfiguration
    DirImprimantesEtTelecopieurs
    DirMesDocuments
    DirFavorisUser
    DirDemarrageUser
    DirDocumentsRecents
    DirSendTo
    DirCorbeille
    DirMenuDemarrer
    DirBureau
    DirMaMusique
    DirMesVideosUser
    DirPosteDeTravail = 17
    DirFavorisReseau
    DirVoisinReseau
    DirFonts
    DirModelesUser
    DirMenuDemarrerPrgramme
    DirProgrammeAllUser
    DirDemarrageAllUser
    DirApplicationDataUser = 26
    DirVoisinageImpression
    DirLocalSettingsApplicationData
    DirFavorisAllUser = 31
    DirTemporaryInternetFilesUser
    DirCookiesUser
    DirHistoriqueUser
    DirApplicationDataAllUser
    DirWindows
    DirWindowsSystem32
    DirProgramFiles
    DirMesImagesUser
    DirUser
    DirFichiersCommuns = 43
    DirModeleAllUser = 45
    DirDocumentsPartages
    DirOutilsAdministrationAllUser
    DirOutilsAdministrationUser
    DirConnexionReseau
    DirMaMusiqueAllUser = 53
    DirMesImagesAllUser
    DirMesVideosAllUser
    DirRessources
    DirResources040c
    DirCDBurning = 59
End Enum



    Function BrowseAndCreate(ByVal hWnd As System.IntPtr, Optional ByVal Title As String = "Rechercher...", _
        Optional ByVal ConfigBox As ctConfigBrowse =  ctConfigBrowse.ButtonCreateOKCancelTextBox, _
        Optional ByVal ConfigDir As ctConfigDir =  ctConfigDir.DirPosteDeTravail) As  String
        Dim sResult As String = String.Empty
        '  CHOIX  REPERTOIRE
        Try
            Dim oShell As Object CreateObject("Shell.Application")
            Dim oFolder As Object = oShell.BrowseForFolder(hWnd, Title, ConfigBox, CInt(ConfigDir))
            sResult = oFolder.items.Item.Path
            ' TEST LE RéSULTAT
            If sResult.Length = 0 OrElse sResult.Substring(0, 2) = "::" Then
                Return String.Empty
            Else
                Return sResult & IIf(sResult.Substring(sResult.Length -  1, 1) = "\", String.Empty, "\")
            End If
            oFolder = Nothing
            oShell = Nothing
        Catch ex As Exception
            Return String.Empty
        End Try
    End Function

Langage : Javascript
Date ajout : 10/12/2007
Posté par bultez [Liste]

function RepertoireChoix() 
{ var Shl = new ActiveXObject("Shell.Application");
  return( Shl.BrowseForFolder(0, 
               "Choix d'un Répertoire", 
               0).Items().Item().Path);
}


Langage : VB 2005
Date ajout : 22/12/2007
Posté par us_30 [Liste]
DateMAJ : 26/12/2007
    Function BrowseAndCreate() As String 
        Dim myDialog As System.Windows.Forms.FolderBrowserDialog = New System.Windows.Forms.FolderBrowserDialog() 
        myDialog.ShowNewFolderButton = True 
        myDialog.Description = "Choisir un chemin" 
        myDialog.RootFolder = Environment.SpecialFolder.DesktopDirectory 
        If myDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then Return myDialog.SelectedPath
    End Function

Remarque :
Alternative native en VB 2005.
Langage : VB6 , VBA
Date ajout : 11/06/2008
Posté par PCPT [Liste]
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 Const BIF_RETURNONLYFSDIRS As Long  = 1&
Private Const MAX_LENGTH  As Long 512&
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As StringByVal 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 LongByVal lpBuffer As String) As Long

Function BrowseDirectory(Optional ByVal lHandle As Long = 0, Optional  ByVal sTitle As String  = vbNullString) As  String
'   crée à partir de  l'API-GUID
    Dim tBI As BrowseInfo, lRet As Long, sBuffer As  String
    With tBI
        .hWndOwner = lHandle
        .lpszTitle = lstrcat(sTitle, vbNullChar)
        .ulFlags = BIF_RETURNONLYFSDIRS
    End With
    lRet = SHBrowseForFolder(tBI)
    If lRet Then
        sBuffer = String$(MAX_LENGTH, vbNullChar)
        Call SHGetPathFromIDList(lRet, sBuffer)
        Call CoTaskMemFree(lRet)
        sBuffer = LeftB$(sBuffer, InStrB(sBuffer, vbNullChar))
        BrowseDirectory = sBuffer
    End If
End Function

Remarque :
MsgBox BrowseDirectory(Me.hWnd, "Sélectionnez un dossier...")

Snippets en rapport avec : Répertoire, Directory, Boite, Choisir, Filedialog



Codes sources en rapport avec : Répertoire, Directory, Boite, Choisir, Filedialog

{Visual Basic, VB6, VB.NET, VB 2005} MODIFICATIONS NOM DE FICHIERS DANS UN MÊME RÉPERTOIRE
C'est un tout petit code tout simple mais qui est pratique si on veut modifier rapidement les noms d...

{C# / C#.NET} LOGICIEL DE RECHERCHE OU REMPLACEMENT DANS UN RÉPERTOIRE ET SES SOUS RÉPERTOIRES
Ce logiciel a été développé sous Microsoft Visual Studio 2005. Le logiciel permet le traitement d...

{C# / C#.NET} CONTRÔLES D'ACCÈS À L'ARBORESCENCE DES RÉPERTOIRES
Cette dll contient 3 controles d'accès aux répertoires : 1. TreeFolder : est dérivé de TreeView....

{C# / C#.NET} DIRECTORY BROWSER
Ce petit programme permet d'utiliser l'API Windows : SHBrowseForFolder afin de récupérer un répertoi...

{C# / C#.NET} BOITE DE DIALOGUE AFFICHANT LES LECTEURS ET LEURS RÉPERTOIRES (SHELL TREEVIEW)
Dialogue box représentant les lecteurs et leurs répertoires dans une treeview, il sert à séléctionn...

{Visual Basic, VB6, VB.NET, VB 2005} ENPLACEMENT DU RÉPERTOIRE SYSTEM
Ce code vient pas de moi il vient de Reseach Center ...

{Visual Basic, VB6, VB.NET, VB 2005} RÉPERTOIRES DE WINDOWS
...

{Visual Basic, VB6, VB.NET, VB 2005} TROUVER LE RÉPERTOIRE TEMPORAIRE WINDOWS
jolauje@aol.com ...

{C# / C#.NET} CHECK IDENTICAL FILES
Juste un petit code d'avant vacances qui permet de lister les fichiers identiques dans un répertoire...

{Visual Basic, VB6, VB.NET, VB 2005} FOLDER HELPER - DOSSIERS SPECIAUX, MANIPULATION DE DOSSIERS, ET PLUS... [MODULE DE CLASSE]
voici une classe que j'avais commencé il y a un moment, elle attendait dans son coin... elle deva...