Selection de dossier avec bouton "nouveau dossier"

Soyez le premier à donner votre avis sur cette source.

Vue 14 924 fois - Téléchargée 784 fois

Description

Suite a une demande sur le forum (et oui, encore !!) , j'ai fais ce module.

Ca permet d'afficher l'assistant de selection de dossier (avec un bouton "Nouveau Dossier" )

Source / Exemple :


Private Sub Form_Load()
    MsgBox BrowseAndCreate("Veuillez selectionner votre Dossier.")
End Sub

Public Function BrowseAndCreate(Title As String) As String
    Dim Shell As Variant, Folder As Variant
    Set Shell = CreateObject("Shell.Application")
    Set Folder = Shell.BrowseForFolder(hWnd, Title, 0, "")
    BrowseAndCreate = Folder.items.Item.Path
End Function

'----------------------------------------------------------
OU
'----------------------------------------------------------

Public Function BrowseForFolder(Optional ByRef Title As String = "Please, select a directory", Optional ByRef InitialDirectory As String) As String
Dim iNull As Integer
Dim lpIDList As Long
Dim sPath As String
Dim BI As BROWSEINFO

    mBrowseFolder = InitialDirectory

    With BI
        .hwndOwner = 0
        .lpszTitle = lstrcat(Title, vbNullChar)
        .ulFlags = BIF_RETURNONLYFSDIRS Or BIF_NEWDIALOGSTYLE
        If LenB(InitialDirectory) > 0 Then
            .lpfn = ProcAddress(AddressOf BrowseCallbackProc)
        End If
    End With

    lpIDList = SHBrowseForFolder(BI)
    If lpIDList Then
        sPath = String$(MAX_PATH, 0)
        SHGetPathFromIDList lpIDList, sPath
        CoTaskMemFree lpIDList
        iNull = InStr(sPath, vbNullChar)
        If iNull Then
            sPath = Left$(sPath, iNull - 1)
        End If
    End If
    BrowseForFolder = sPath
End Function

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

lumesh
Messages postés
564
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
7 novembre 2008
-
je connaissait la 2eme method mais pas la premiere ...
en vbs c deja bcp moins long ! :)
cs_olid
Messages postés
296
Date d'inscription
lundi 2 septembre 2002
Statut
Membre
Dernière intervention
28 janvier 2008
-
Arf... javais mal compris (ou ya un bug)...

Jai cru que ce source affichait le selecteur de dossier avec dessus un bouton pour créer un dossier pendant la selection :o(

Bah... au moins, ce source aidera des debutants :op

Sinon, pour faire ce que je viens dire, faudrait pô faire une fonction callback, non ? Si oui, merci à qui pourra donner un exemple ;o)
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57 -
Mais non, ca devrai fonctionner, il s'agit bien de ce que tu as decris......
cs_olid
Messages postés
296
Date d'inscription
lundi 2 septembre 2002
Statut
Membre
Dernière intervention
28 janvier 2008
-
Bin perdu :o((

Jai windows 98SE ...je crois que le probleme vient du fait quil faudrait avoir Windows Scripting 5.6 qui est installé que sur 2000, Millenium, etc. 98 SE a seulement le 5.1, et 95 ou NT4 ne l'ont pô du tout.

Jai eu ce meme genre de pb pour créer des raccourcis ou favoris en VBS ;o(

A noter que cest le wshom.ocx et ses dépendances quil faut installer ;o|
lumesh
Messages postés
564
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
7 novembre 2008
-
pour infos, le 5.6 est téléchargeable sur le site de microsoft.
le l'ai deja installé qd g t sous 98se avt.

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.