BrowseForFolder avec raccourci [Résolu]

Signaler
Messages postés
13
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
8 février 2008
-
Messages postés
13
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
8 février 2008
-
Bonjour,
Je suis sous Microsoft Access 2003, sous Windows XP.
Je souhaiterais que l'utilisateur puisse, suite à un click sur un bouton, choisir un répertoire : c'est pourquoi j'utilise la méthode 'BrowseForFolder'. Le problème est que l'utilisateur n'a accès à certains dossiers qu'à travers des raccourcis, d'où l'uilisation de la constante &H4001& pour les afficher. Mais lorsque l'explorateur de fichier est ouvert et que l'utilisateur clique sur ces raccourcis, rien ne se produit (le raccourci ne s'active pas).
Il y a même un message d'erreur qui s'affiche lorsque l'utilisateur valide avec un de ces raccourcis sélectionné :

Run-time error '-2147024894 (800700002)':
Method 'BrowseForFolder' of object 'IShellDispatch4' failed

Pour info, voici le code que j'utilise :

Private Sub Toggle8_Click()
    Dim Adresse As String
    
    Set oShell = CreateObject("Shell.Application")
    Set oFolder = oShell.BrowseForFolder(&H0&, "Browse for folder", &H4001&, "")    
   
    If oFolder Is Nothing Then
        MsgBox "User don't modify", vbCritical
        Exit Sub
    Else
        Set oFolderItem = oFolder.Self
        Adresse = oFolderItem.Path
    End If
   
    '(...)
End Sub

Si quelqu'un pourrait m'aider, je lui en serait grandement reconnaissant.
Merci.

1 réponse

Messages postés
13
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
8 février 2008

Bonjour,
un certain kiki29 m' proposé une solution sur un autre site.
En fait, la méthode FileDialog permet beaucoup plus de possibilités ; voici son code :

Dim sChemin As String
sChemin = "D:\Backup\Demos\SysDiff"
    
With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = sChemin & ""
    .Title = "Sélectionner un Dossier"
    .AllowMultiSelect = False
    .InitialView = msoFileDialogViewDetails
    .ButtonName = "Sélection Dossier"
    .Show
    If .SelectedItems.Count > 0 Then
        MsgBox .SelectedItems(1)
    Else
        Exit Sub
    End If
End With