Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ordnerinhalt auslesen mit Hyperlink

Ordnerinhalt auslesen mit Hyperlink
20.02.2020 09:43:04
JanRe
Guten Tag Liebes Excel-Forum,
ich habe diverse Ordner in verschiedenen Laufwerke und dazu folgendes VBA-Script,
welches die Inhalte mit gesamten Pfad ausgibt. Jedoch sind Pfadnamen lang und das Excelsheet wird schnell unübersichtlich.
Kann man das so machen, das nur die eigentliche Dateien/Dateinamen pro Ordner
als Hyperlinks angezeigt wird ?
Vielen Dank im Voraus!

Sub DateienMitHyperlinkAuflisten()
'##### Hauptordner bearbeiten #####
Dim FileSystem As Object
Dim Unterordner
Dim Datei
Dim Zeile As Long
Dim Spalte As Long
Dim Ordner
Set FileSystem = CreateObject("Scripting.FileSystemObject")
Spalte = 1
Zeile = 1
Ordner = "R:\CAD_Signatur"
If FileSystem.FolderExists(Ordner) Then
Set Ordner = FileSystem.Getfolder(Ordner)
With ActiveSheet.Cells(1, 1)
.Value = Ordner
.Font.Bold = True
.Interior.Color = RGB(220, 220, 220)
End With
For Each Datei In Ordner.Files
Zeile = Zeile + 1
'        ActiveSheet.Cells(Zeile, Spalte).Value = Datei.Name
ActiveSheet.Hyperlinks.Add ActiveSheet.Cells(Zeile, Spalte), Datei
Next
ListOrdner Ordner, Zeile, 2
End If
End Sub


Sub ListOrdner(Ordner, Zeile, Spalte)
'##### Unterordner bearbeiten #####
Dim FileSystem As Object
Dim Unterordner
Dim Datei
Set FileSystem = CreateObject("Scripting.FileSystemObject")
If FileSystem.FolderExists(Ordner) Then
Set Ordner = FileSystem.Getfolder(Ordner)
For Each Unterordner In Ordner.Subfolders
Zeile = Zeile + 1
With ActiveSheet.Cells(Zeile, Spalte)
.Value = Unterordner.Name
.Font.Bold = True
.Interior.Color = RGB(220, 220, 220)
End With
For Each Datei In Unterordner.Files
Zeile = Zeile + 1
'        ActiveSheet.Cells(Zeile, Spalte).Value = Datei.Name
ActiveSheet.Hyperlinks.Add ActiveSheet.Cells(Zeile, Spalte), Datei
Next
ListOrdner Unterordner, Zeile, Spalte + 1
Next
End If
ActiveSheet.UsedRange.EntireColumn.AutoFit
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordnerinhalt auslesen mit Hyperlink
20.02.2020 09:55:45
Nepumuk
Hallo,
teste mal:
Option Explicit
Sub DateienMitHyperlinkAuflisten()
'##### Hauptordner bearbeiten #####
Dim FileSystem As Object
Dim Unterordner As Object
Dim Datei As Object
Dim Zeile As Long
Dim Spalte As Long
Dim Ordner As Variant
Set FileSystem = CreateObject("Scripting.FileSystemObject")
Spalte = 1
Zeile = 1
Ordner = "\\BKRFShl\Home\KafflM\Documents\Excel\11a" ' "R:\CAD_Signatur"
If FileSystem.FolderExists(Ordner) Then
Set Ordner = FileSystem.Getfolder(Ordner)
With ActiveSheet.Cells(1, 1)
.Value = Ordner
.Font.Bold = True
.Interior.Color = RGB(220, 220, 220)
End With
For Each Datei In Ordner.Files
Zeile = Zeile + 1
'        ActiveSheet.Cells(Zeile, Spalte).Value = Datei.Name
ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Cells(Zeile, Spalte), _
Address:=Datei.Path, TextToDisplay:=Datei.Name
Next
ListOrdner Ordner, Zeile, 2
End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Ordnerinhalt auslesen mit Hyperlink
20.02.2020 09:58:51
Torsten
Hallo JanRe,
versuch mal:
ActiveSheet.Hyperlinks.Add ActiveSheet.Cells(Zeile, Spalte), Datei, TextToDisplay:=Datei.Name

Gruss Torsten
AW: Auche eine Variante
20.02.2020 09:59:40
Dieter(Drummer)
Hallo JanRe,
evtl.kannst Du damit auch etwas anfangen: https://www.herber.de/bbs/user/135308.xlsm
Gruß, Dieter(Drummer)
Anzeige
AW: Ordnerinhalt auslesen mit Hyperlink
20.02.2020 11:19:39
JanRe
...super & prompt & Vielen Dank !!!
@Nepomuk & @Torsten beide Sachen funktionieren, und es passt, wofür ich das benötige.
@Dieter : ..wo ich momentan sitze , ist alles verboten, ich teste das heute am Nachmittag.
Freundliche Grüße & Frohes Schaffen. Jan
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Ordnerinhalt auslesen und mit Hyperlinks verlinken


Schritt-für-Schritt-Anleitung

Um Dateien und Ordner in Excel mit Hyperlinks aufzulisten, kannst du das folgende VBA-Skript verwenden. Dieses Skript listet die Dateinamen in einem angegebenen Ordner auf und erstellt Hyperlinks zu diesen Dateien.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub DateienMitHyperlinkAuflisten()
    '##### Hauptordner bearbeiten #####
    Dim FileSystem As Object
    Dim Unterordner As Object
    Dim Datei As Object
    Dim Zeile As Long
    Dim Spalte As Long
    Dim Ordner As Variant
    Set FileSystem = CreateObject("Scripting.FileSystemObject")
    Spalte = 1
    Zeile = 1
    Ordner = "C:\Dein\Pfad\Hier" ' Ändere den Pfad entsprechend
    If FileSystem.FolderExists(Ordner) Then
        Set Ordner = FileSystem.Getfolder(Ordner)
        With ActiveSheet.Cells(1, 1)
            .Value = Ordner
            .Font.Bold = True
            .Interior.Color = RGB(220, 220, 220)
        End With
        For Each Datei In Ordner.Files
            Zeile = Zeile + 1
            ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Cells(Zeile, Spalte), _
                Address:=Datei.Path, TextToDisplay:=Datei.Name
        Next
        ListOrdner Ordner, Zeile, 2
    End If
End Sub

Sub ListOrdner(Ordner, Zeile, Spalte)
    '##### Unterordner bearbeiten #####
    Dim FileSystem As Object
    Dim Unterordner
    Dim Datei
    Set FileSystem = CreateObject("Scripting.FileSystemObject")
    If FileSystem.FolderExists(Ordner) Then
        Set Ordner = FileSystem.Getfolder(Ordner)
        For Each Unterordner In Ordner.Subfolders
            Zeile = Zeile + 1
            With ActiveSheet.Cells(Zeile, Spalte)
                .Value = Unterordner.Name
                .Font.Bold = True
                .Interior.Color = RGB(220, 220, 220)
            End With
            For Each Datei In Unterordner.Files
                Zeile = Zeile + 1
                ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Cells(Zeile, Spalte), _
                    Address:=Datei.Path, TextToDisplay:=Datei.Name
            Next
            ListOrdner Unterordner, Zeile, Spalte + 1
        Next
    End If
    ActiveSheet.UsedRange.EntireColumn.AutoFit
End Sub
  1. Ändere den Ordnerpfad in der Zeile Ordner = "C:\Dein\Pfad\Hier" zu deinem gewünschten Ordner.
  2. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst und das Makro auswählst.

Häufige Fehler und Lösungen

  • Fehler: "Pfad nicht gefunden"
    Lösung: Stelle sicher, dass der angegebene Ordnerpfad korrekt ist und der Ordner existiert.

  • Fehler: Hyperlinks werden nicht erstellt
    Lösung: Überprüfe, ob du die Excel-Datei mit den richtigen Berechtigungen geöffnet hast und ob das Makro aktiviert ist.


Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch die folgenden Methoden nutzen:

  1. Power Query: Mit Power Query kannst du Daten aus Ordnern importieren und die Dateinamen anzeigen. Gehe zu Daten > Abrufen und Transformieren > Aus Datei > Aus Ordner.
  2. Manuelles Einfügen: Du kannst die Dateinamen manuell abtippen und Hyperlinks zu den Dateien hinzufügen, was jedoch zeitaufwendig ist.

Praktische Beispiele

Hier sind einige Beispiele für die Verwendung des VBA-Codes:

  • Ordnerinhalt auflisten: Verwende den Code, um den Inhalt eines Projektordners aufzulisten und die Dateinamen als Hyperlinks anzuzeigen.
  • Berichte automatisieren: Füge das Skript in einen automatisierten Bericht ein, um regelmäßig den Inhalt eines bestimmten Ordners auszulesen und zu aktualisieren.

Tipps für Profis

  • Dynamische Ordnerpfade: Du kannst den Ordnerpfad dynamisch gestalten, indem du eine Zelle in Excel als Eingabe für den Pfad verwendest. Dann verwende Range("A1").Value anstelle eines festen Pfades.
  • Fehlerbehandlung einfügen: Überlege, Fehlerbehandlungsmechanismen einzufügen, um das Skript robuster zu machen und unerwartete Fehler zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die Dateinamen aus einem Ordner in Excel auslesen?
Du kannst den obigen VBA-Code verwenden, um die Dateinamen aus einem Ordner auszulesen und sie als Hyperlinks in Excel anzuzeigen.

2. Ist es möglich, Ordner in Excel zu verlinken?
Ja, du kannst die Funktion ActiveSheet.Hyperlinks.Add verwenden, um Links zu Ordnern in Excel zu erstellen, ähnlich wie bei Dateien.

3. Funktioniert dieser Code in allen Excel-Versionen?
Der Code ist für Excel 2010 und höher geeignet. Stelle sicher, dass du die Makros aktiviert hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige