Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment lister tous les noms de fichiers dans un dossier et créer des liens hypertexte pour eux dans Excel?

Pour votre travail quotidien, vous devrez peut-être importer plusieurs noms de fichiers à partir d'un dossier dans une feuille de calcul et créer des liens hypertexte pour chaque fichier afin d'ouvrir le fichier rapidement et facilement. Peut-être, vous pouvez copier et coller les noms de fichiers et créer un lien hypertexte pour celui-ci un par un manuellement, mais, cela perdra beaucoup de temps s'il y a des centaines de fichiers dans le dossier. Aujourd'hui, je vais parler de quelques méthodes rapides et intéressantes pour faire face à ce travail.

Liste tous les noms de fichiers dans un dossier et créer des liens hypertexte avec le code VBA

Liste tous les noms de fichiers dans un dossier et créer des liens hypertexte avec Kutools for Excel


Liste tous les fichiers dans un dossier et créer des liens hypertexte pour eux à la fois:

Avec Kutools for Excel's Liste de noms de fichiers utilitaire, vous pouvez lister tous les fichiers d'un dossier qui inclut les sous-dossiers dans une feuille de calcul dès que possible.

fichiers de liste de doc

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!



Pour lister et créer un lien hypertexte avec des fichiers d'un dossier, le code VBA suivant peut vous faire une faveur.

1. Activer une nouvelle feuille de calcul pour mettre le résultat.

2. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

3. Cliquez insérer > Moduleet collez le code suivant dans le Module Fenêtre.

VBA: Liste tous les noms de fichiers dans un dossier et créer des liens hypertexte

Sub Example1()
'Update 20150831
    Dim xFSO As Object 
    Dim xFolder As Object
    Dim xFile As Object
    Dim xFiDialog As FileDialog
    Dim xPath As String
    Dim I As Integer
    Set xFiDialog = Application.FileDialog(msoFileDialogFolderPicker)
    If xFiDialog.Show = -1 Then
        xPath = xFiDialog.SelectedItems(1)
    End If
    Set xFiDialog = Nothing
    If xPath = "" Then Exit Sub
    Set xFSO = CreateObject("Scripting.FileSystemObject")
    Set xFolder = xFSO.GetFolder(xPath)
    For Each xFile In xFolder.Files
        I = I + 1
        ActiveSheet.Hyperlinks.Add Cells(I, 1), xFile.Path, , , xFile.Name
    Next
End Sub

4. Puis appuyez F5 clé pour exécuter ce code, et choisissez le dossier que vous souhaitez lister les fichiers de la Feuilleter fenêtre, voir capture d'écran:

liste doc créer des hyperliens 1

5. Après avoir spécifié le dossier, cliquez sur OK bouton, et tous les fichiers dans le dossier spécifique ont été répertoriés dans la feuille de calcul active avec des liens hypertexte, voir capture d'écran:

liste doc créer des hyperliens 2

Note: S'il existe des sous-dossiers dans votre dossier spécifique, les fichiers dans les sous-dossiers ne seront pas répertoriés.


Pour répertorier tous les fichiers dans un dossier et ses sous-dossiers et créer des liens hypertexte pour chaque fichier, Kutools for Excel's Liste de noms de fichiers peut-être vous faire une faveur. Avec cette fonctionnalité, tous les fichiers du dossier et des sous-dossiers seront listés en même temps avec certains attributs, tels que le nom du fichier, la taille du fichier, l'heure de création, le dossier contenant, etc.

Kutools for Excel : avec plus de 300 compléments Excel pratiques, libre d'essayer sans limitation dans 60 jours.

Si vous avez installé Kutools for Excel, s'il vous plaît faire avec les étapes suivantes:

1. Cliquez Entreprise > Import / Export > Liste de noms de fichiers, voir capture d'écran:

liste doc créer des hyperliens 3

2. Dans le Liste de noms de fichiers boîte de dialogue, effectuez les opérations suivantes:

(1.) Cliquez sur liste doc créer des hyperliens 5 bouton pour sélectionner le dossier dans lequel vous souhaitez répertorier les noms de fichiers;

(2.) Vérifiez Include des fichiers dans les sous-répertoires si vous voulez lister les noms de fichiers dans les sous-dossiers;

(3.) Spécifiez les types de fichiers que vous souhaitez rechercher et répertorier sous Type de fichiers section;

(4.) Sélectionnez l'unité de taille de fichier que vous souhaitez afficher;

(5.) Vérifier Créer des hyperliens en bas à gauche de la boîte de dialogue.

Téléchargez Kutools for Excel dès maintenant!

3. Puis clique Ok bouton, et tous les fichiers dans le dossier et les sous-dossiers ont été répertoriés dans une nouvelle feuille de calcul avec les hyperliens que vous avez besoin, voir capture d'écran:

liste doc créer des hyperliens 6

Cliquez pour en savoir plus sur l'utilitaire Liste de noms de fichiers ...

Télécharger et tester gratuitement Kutools for Excel maintenant!


Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!


Article connexe:

Comment lister tous les fichiers dans le dossier et les sous-dossiers dans une feuille de calcul?


Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe Créer une liste de diffusion et envoyer des emails ...
  • Super Formula Bar (éditez facilement plusieurs lignes de texte et de formule); Disposition de lecture (facilement lire et éditer un grand nombre de cellules); Coller à la gamme filtrée...
  • Fusionner les cellules / rangées / colonnes sans perdre de données; Contenu des cellules divisées; Combiner les lignes / colonnes en double... Prévenir les cellules en double; Comparer les plages...
  • Sélectionnez Dupliquer ou Unique Des rangées; Sélectionnez les lignes vierges (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux cahiers d'exercices; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de la formule; Créer automatiquement des références à plusieurs feuilles; Insérer des balles, Cases à cocher et plus ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre contenu de cellules et commentaires...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial en gras, en italique ...
  • Combinaison de classeurs et de feuilles de calcul; Fusionner les tables en fonction des colonnes clés; Fractionner les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus que de puissantes fonctionnalités 300. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit du jour 30.
kte tab 201905

Office Tab apporte une interface à onglets à Office et simplifie grandement votre travail

  • Activer l'édition par onglets et la lecture dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit le nombre de clics de souris pour vous chaque jour!
fond officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ellie · 9 months ago
    How would I change this code to have it list folder names rather than file names? And how would I change it to check subfolders for files?
    • To post as a guest, your comment is unpublished.
      skyyang · 8 months ago
      Hi, Ellie,
      To list all folder and subfolder names from a directory, the below VBA code can help you, please try, hopt it can help you.

      Sub FolderNames()
      Application.ScreenUpdating = False
      Dim xPath As String
      Dim xWs As Worksheet
      Dim fso As Object, j As Long, folder1 As Object
      With Application.FileDialog(msoFileDialogFolderPicker)
      .Title = "Choose the folder"
      .Show
      End With
      On Error Resume Next
      xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
      Application.Workbooks.Add
      Set xWs = Application.ActiveSheet
      xWs.Cells(1, 1).Value = xPath
      xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
      Set fso = CreateObject("Scripting.FileSystemObject")
      Set folder1 = fso.getFolder(xPath)
      getSubFolder folder1
      xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
      xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
      Application.ScreenUpdating = True
      End Sub
      Sub getSubFolder(ByRef prntfld As Object)
      Dim SubFolder As Object
      Dim subfld As Object
      Dim xRow As Long
      For Each SubFolder In prntfld.SubFolders
      xRow = Range("A1").End(xlDown).Row + 1
      Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
      Next SubFolder
      For Each subfld In prntfld.SubFolders
      getSubFolder subfld
      Next subfld
      End Sub
      • To post as a guest, your comment is unpublished.
        yuri · 1 months ago
        How would you code this to make hyperlinks for path and directory
        • To post as a guest, your comment is unpublished.
          skyyang · 1 months ago
          Hi, yuri,
          To solve your problem, please try the following code:

          Sub FolderNames()
          Application.ScreenUpdating = False
          Dim xPath As String
          Dim xWs As Worksheet
          Dim xRg As Range
          Dim fso As Object, j As Long, folder1 As Object
          With Application.FileDialog(msoFileDialogFolderPicker)
          .Title = "Choose the folder"
          .Show
          End With
          On Error Resume Next
          xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
          Application.Workbooks.Add
          Set xWs = Application.ActiveSheet
          Set xRg = xWs.Cells(1, 1)
          xRg.Value = xPath
          xWs.Hyperlinks.Add Anchor:=xRg, Address:=xPath, TextToDisplay:=xPath
          xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
          Set fso = CreateObject("Scripting.FileSystemObject")
          Set folder1 = fso.GetFolder(xPath)
          getSubFolder folder1
          xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
          xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
          Application.ScreenUpdating = True
          End Sub
          Sub getSubFolder(ByRef prntfld As Object)
          Dim SubFolder As Object
          Dim subfld As Object
          Dim xRow As Long
          Dim xStr As String
          Dim xRg As Range
          For Each SubFolder In prntfld.SubFolders
          xRow = Range("A1").End(xlDown).Row + 1
          Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
          Set xRg = Cells(xRow, 1)
          xRg.Worksheet.Hyperlinks.Add Anchor:=xRg, Address:=xRg.Value, TextToDisplay:=xRg.Value
          Set xRg = Cells(xRow, 2)
          xRg.Worksheet.Hyperlinks.Add Anchor:=xRg, Address:=xRg.Value, TextToDisplay:=xRg.Value
          Next SubFolder
          For Each subfld In prntfld.SubFolders
          getSubFolder subfld
          Next subfld
          End Sub
  • To post as a guest, your comment is unpublished.
    jms · 11 months ago
    "VBA: List all filenames in a folder and create hyperlinks" is great! It works perfectly! Thank you for posting! One question... Now that you told us how to add links from folder, is it possible to use those links to get information from say one or two different sheets in each of the files listed? They would be the same cells for each of the files we now have a list for. This would help create a comprehensive contents with active links to otherwise unintelligible file names.
  • To post as a guest, your comment is unpublished.
    alice · 1 years ago
    Great thanks although can not view the files in the selected directory as barry said, it creates hyperlinks for all files in that directory anyway.
  • To post as a guest, your comment is unpublished.
    Chaudhary Mubashir · 2 years ago
    Awesome ..thanks a lot. It really saved my time.
  • To post as a guest, your comment is unpublished.
    barry · 3 years ago
    Running the VBA code listed above, shows the selected directory is empty, when it is full of Excel files.