2010-11-12 7 views
2

J'essaie d'utiliser la construction FileDialog dans VBA pour afficher une liste des fichiers disponibles que l'utilisateur peut vouloir ouvrir. Je voudrais également diriger l'utilisateur vers certains dossiers communs dans lesquels ils trouveront généralement le type de contenu qu'ils recherchent. Jusqu'à présent, j'ai trouvé une méthode pour placer un lien sur le côté gauche de la boîte de dialogue FileDialog dans laquelle ils pouvaient cliquer pour accéder à un emplacement spécifique.Comment créer des liens personnalisés dans Application.FileDialog en utilisant VBA?

J'espère qu'il existe un moyen de le faire en appelant les méthodes FileDialog comme un exemple ci-dessous où j'ai utilisé le fd.AddLinkMethod "<path goes here>".

Private Function GetLocation() As String 
    Dim fd As FileDialog 
    Dim vrtSelectedItem As Variant 
    Set fd = Application.FileDialog(msoFileDialogOpen) 

    fd.ButtonName = "Open" 
    fd.Title = "Select File To Open" 
    fd.InitialView = msoFileDialogViewTiles 

    fd.AddLinkMethod "<path goes here>" 

    With fd 
     If .Show = -1 Then 

      For Each vrtSelectedItem In .SelectedItems 
       GetLocation= FormatPath(vrtSelectedItem) 
      Next vrtSelectedItem 

      End If 
     End With  

     Set fd = Nothing 
End Function 

Voici une capture d'écran de ce que je tente d'accomplir?

alt text

Tous les pointeurs?

Merci,

Répondre

2

Il devrait être faisable, mais vous aurez besoin de passer du filedialog d'accès, et utiliser la boîte de dialogue commune Windows à partir de l'API Windows. (http://support.microsoft.com/kb/161286) Ensuite, il existe plusieurs façons de modifier les liens qui sont indiqués dans cet article (http://www.makeuseof.com/tag/4-more-ways-to-customize-common-dialog-open-in-windows-xp/). Pas le plus élégant, mais ça devrait marcher. Bonne chance!

+0

Merci d'avoir corrigé mes liens David – Fink

Questions connexes