Note: The other languages of the website are Google-translated. Back to English

 Hur listar jag alla filnamn i en mapp och skapar hyperlänkar för dem i Excel?

För ditt dagliga arbete kan du behöva importera flera filnamn från en mapp till ett kalkylblad och skapa hyperlänkar för varje fil så att filen öppnas snabbt och enkelt. Kanske kan du kopiera och klistra in filnamnen och skapa en hyperlänk för den en efter en manuellt, men det kommer att slösa mycket tid om det finns hundratals filer i mappen. Idag kommer jag att prata om några snabba och intressanta metoder för att hantera detta jobb.

Lista alla filnamn i en mapp och skapa hyperlänkar med VBA-kod

Lista alla filnamn i en mapp och skapa hyperlänkar med Kutools för Excel


För att lista och skapa hyperlänk med filer från en mapp kan följande VBA-kod göra dig en tjänst.

1. Aktivera ett nytt kalkylblad för att få resultatet.

2. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

3. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA: Lista alla filnamn i en mapp och skapa hyperlänkar

Sub Example1()
'Updateby Extendoffice
    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. Tryck sedan på F5 för att köra den här koden och välj den mapp som du vill lista filerna från Bläddra fönster, se skärmdump:

doc-lista skapa hyperlänkar 1

5. När du har angett mappen klickar du på OK -knappen och alla filer i den specifika mappen har listats i aktivt kalkylblad med hyperlänkar, se skärmdump:

doc-lista skapa hyperlänkar 2

Anmärkningar: Om det finns undermappar i din specifika mapp kommer inte filerna i undermapparna att listas.


För att lista alla filer både i en mapp och dess undermappar och skapade hyperlänkar för varje fil, Kutools för ExcelÄr Lista över filnamn kan göra dig en tjänst. Med den här funktionen kommer alla filer i mapp och undermappar att listas på en gång med vissa attribut, såsom filnamn, filstorlek, skapad tid, innehållande mapp och så vidare.

Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar.

Om du har installerat Kutools för Excel, gör med följande steg:

1. Klicka Kutools Plus > Import Export > Lista över filnamn, se skärmdump:

2. i Lista över filnamn dialogrutan, gör följande:

(1.) Klicka på doc-lista skapa hyperlänkar 5 knappen för att välja den mapp som du vill lista filnamnen;

(2.) Kontrollera Inkludera filer i underkataloger om du vill lista filnamn i undermappar, kontrollera Inkludera dolda filer och mappar om du vill lista de dolda filerna;

(3.) Ange de filtyper som du vill hitta och lista under Filtyp sektion;

(4.) Välj den filstorleksenhet som du vill visa;

(5.) Kontrollera Skapa hyperlänkar längst ned till vänster i dialogrutan.

Ladda ner Kutools för Excel nu!

3. Klicka sedan Ok -knappen och alla filer i mappen och undermapparna har listats i ett nytt kalkylblad med hyperlänkarna efter behov, se skärmdump:

doc-lista skapa hyperlänkar 6

Klicka för att veta mer information om filnamnlistverktyget ...

Ladda ner och testa gratis Kutools för Excel nu!


Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!

Relaterad artikel:

Hur listar jag alla filer i mapp och undermappar i ett kalkylblad?


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (15)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Om du kör VBA-koden som listas ovan visar det att den valda katalogen är tom när den är full av Excel-filer.
Denna kommentar minimerades av moderatoren på webbplatsen
Fantastiskt ..tack så mycket. Det sparade verkligen min tid.
Denna kommentar minimerades av moderatoren på webbplatsen
Stort tack även om det inte går att se filerna i den valda katalogen som Barry sa, det skapar hyperlänkar för alla filer i den katalogen ändå.
Denna kommentar minimerades av moderatoren på webbplatsen
"VBA: Lista alla filnamn i en mapp och skapa hyperlänkar" är bra! Det fungerar perfekt! Tack för att du postade! En fråga... Nu när du berättade för oss hur man lägger till länkar från mapp, är det möjligt att använda dessa länkar för att få information från t.ex. ett eller två olika ark i var och en av de listade filerna? De skulle vara samma celler för var och en av de filer vi nu har en lista för. Detta skulle hjälpa till att skapa ett heltäckande innehåll med aktiva länkar till annars oförståeliga filnamn.
Denna kommentar minimerades av moderatoren på webbplatsen
Hur skulle jag ändra den här koden så att den listar mappnamn snarare än filnamn? Och hur skulle jag ändra det för att söka efter filer i undermappar?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Ellie,
För att lista alla mapp- och undermapnamn från en katalog kan nedanstående VBA-kod hjälpa dig, försök, hoppas den kan hjälpa dig.

Sub FolderNames()
Application.ScreenUpdating = False
Dim xPath som sträng
Dim xWs Som arbetsblad
Dim fso As Object, j As Long, folder1 As Object
Med Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Välj mappen"
.Visa
Sluta med
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Applikation.Arbetsböcker.Lägg till
Ställ in xWs = Application.ActiveSheet
xWs.Cells(1, 1).Värde = xPath
xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date created", "Date Last Modified")
Ställ in fso = CreateObject ("Scripting.FileSystemObject")
Ställ in mapp1 = fso.getFolder(xPath)
getSubFolder mapp1
xWs.Cells(2, 1).Ändra storlek(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)
Dimma undermapp som objekt
Dim subfld som objekt
Dim xRow As Long
För varje undermapp i prntfld.SubFolders
xRow = Range("A1").End(xlDown).Row + 1
Cells(xRow, 1).Resize(1, 5).Value = Array(SubMapp.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder. DateLastModified)
Nästa undermapp
För varje subfld I prntfld.SubFolders
getSubFolder subfld
Nästa subfld
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Hur skulle du koda detta för att skapa hyperlänkar för sökväg och katalog
Denna kommentar minimerades av moderatoren på webbplatsen
Hej yuri,
För att lösa ditt problem, försök med följande kod:

Sub FolderNames()
Application.ScreenUpdating = False
Dim xPath som sträng
Dim xWs Som arbetsblad
Dim xRg As Range
Dim fso As Object, j As Long, folder1 As Object
Med Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Välj mappen"
.Visa
Sluta med
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Applikation.Arbetsböcker.Lägg till
Ställ in xWs = Application.ActiveSheet
Ställ in 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")
Ställ in fso = CreateObject ("Scripting.FileSystemObject")
Ställ in mapp1 = fso.GetFolder(xPath)
getSubFolder mapp1
xWs.Cells(2, 1).Ändra storlek(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)
Dimma undermapp som objekt
Dim subfld som objekt
Dim xRow As Long
Dim xStr As String
Dim xRg As Range
För varje undermapp i prntfld.SubFolders
xRow = Range("A1").End(xlDown).Row + 1
Cells(xRow, 1).Resize(1, 5).Value = Array(SubMapp.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder. DateLastModified)
Ställ in xRg = Cells(xRow, 1)
xRg.Worksheet.Hyperlinks.Add Anchor:=xRg, Address:=xRg.Value, TextToDisplay:=xRg.Value
Ställ in xRg = Cells(xRow, 2)
xRg.Worksheet.Hyperlinks.Add Anchor:=xRg, Address:=xRg.Value, TextToDisplay:=xRg.Value
Nästa undermapp
För varje subfld I prntfld.SubFolders
getSubFolder subfld
Nästa subfld
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
@skyyang Hej,Kan den här koden redigeras till hyperlänksökväg för filer istället för mappar. Till exempel, istället för att hyperlänka sökvägarna till mapparna inuti mapp1, skulle det hyperlänka sökvägarna för alla filer i mapp1 (jag behöver texten för att visas som sökvägen till filen, inte filnamnet), det skulle vara den perfekta användningen fall för mig. uppskattar all hjälp du kan erbjuda :)
Denna kommentar minimerades av moderatoren på webbplatsen
@skyyang Hej,
Kan den här koden redigeras till hyperlänksökväg för filer istället för mappar. Till exempel, istället för att hyperlänka sökvägarna till mapparna inuti mapp1, skulle det hyperlänka sökvägarna för alla filer i mapp1 (jag behöver texten för att visas som sökvägen till filen, inte filnamnet), det skulle vara den perfekta användningen fall för mig.
uppskattar all hjälp du kan erbjuda :)
Denna kommentar minimerades av moderatoren på webbplatsen
@skyyang Hej,
Kan den här koden redigeras till hyperlänksökväg för filer istället för mappar. Till exempel, istället för att hyperlänka sökvägarna till mapparna inuti mapp1, skulle det hyperlänka sökvägarna för alla filer i mapp1 (jag behöver texten för att visas som sökvägen till filen, inte filnamnet), det skulle vara den perfekta användningen fall för mig.
uppskattar all hjälp du kan erbjuda :)
Denna kommentar minimerades av moderatoren på webbplatsen
Hej alla,

ich habe eine bescheidene Frage:
Om du kan hitta en lista över filnamn i klickbara länkar omvandlar frågan.
Es sind hier Beispiele kallas worden. Dies hat mich aber nicht weiter gebracht.
Hat were eine Beispieldatei? Wie aus dem meddelande #28151.

Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej kompis,

När alla filer i den specifika mappen har listats i det aktiva kalkylbladet med hyperlänkar, kan du klicka på cellerna för att öppna hyperlänkarna. Alla filnamn är klickbara. Se skärmdumparna.

Men jag kan inte skicka mitt exempel på Excel-filen, eftersom de hyperlänkar som finns listade i filen bara kan öppnas från mina egna datorer. Använd bara metoden för att skapa hyperlänkar med filer från din specifika mapp. Efter att filnamnen med hyperlänkar listas i en ny fil. Klicka bara på hyperlänkarna för att öppna dem. Gör ett försök.

Vänliga hälsningar,
Mandy
Denna kommentar minimerades av moderatoren på webbplatsen
Hur kan du ändra cell- och kolumnplacering? eftersom jag redan har data i kolumn A, skulle jag vilja ändra makrot till att vara i kolumn N
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Diego,
För att placera resultatet i kolumn N, använd följande kod:
Sub Example1()
'Updateby Extendoffice
    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, 14), xFile.Path, , , xFile.Name
    Next
End Sub


Gör ett försök, hoppas det kan hjälpa dig!
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL