Thema Datum  Von Nutzer Rating
Antwort
16.05.2017 13:52:35 Selina
NotSolved
Blau Ordnernamen, Unterordnernamen und Dateiname als Hyperlink
16.05.2017 14:30:57 SJ
NotSolved
17.05.2017 08:53:50 Selina
NotSolved
17.05.2017 09:28:01 SJ
NotSolved
18.05.2017 11:42:03 Gast69587
Solved

Ansicht des Beitrags:
Von:
SJ
Datum:
16.05.2017 14:30:57
Views:
649
Rating: Antwort:
  Ja
Thema:
Ordnernamen, Unterordnernamen und Dateiname als Hyperlink

Hallo,

kopiere folgendes Makro in ein leeres Standardmodul:

Option Explicit

'//Erforderliche Verweise (Extras -> Verweise)
'//-Microsoft Scripting Runtime

'//Konstanten/Settings
'//Startpfad für Auflistung
Private Const PFAD As String = "G:\Test"
'//Arbeitsblatt in dem die Liste erstellt wird
Private Const WORKSHEET_NAME As String = "Tabelle1"

Public Sub getAllFiles()
    Dim fso As New FileSystemObject
    
    If Not fso.FolderExists(PFAD) Then
        MsgBox "Das angegebene Verzeichnis existiert nicht..", vbInformation
        GoTo cleanUp
    End If
    
    Dim wks As Worksheet
    Set wks = Worksheets(WORKSHEET_NAME)
    
    With wks
        .Range("A1") = "Dateiname"
        .Range("B1") = "Hauptfirma"
        .Range("C1") = "Firma"
    End With
    
    listFiles PFAD
    wks.Columns("A:C").AutoFit
    
cleanUp:
    If Not fso Is Nothing Then Set fso = Nothing
    If Not wks Is Nothing Then Set wks = Nothing
End Sub

Private Sub listFiles(ByVal p As String)
    Dim fso As New FileSystemObject
    Dim fo As Folder, fo1 As Folder
    Dim f As File
    
    Set fo = fso.GetFolder(p)
    
    For Each f In fo.Files
        addNewFileToList f.Path
    Next
    
    For Each fo1 In fo.SubFolders
        listFiles fo1.Path
    Next
    
    Set fo = Nothing
    Set fso = Nothing
End Sub

Private Sub addNewFileToList(ByVal p As String)
    Dim fso As New FileSystemObject
    Dim fo As Folder
    Dim wks As Worksheet
    Dim l As Long
    
    Set wks = Worksheets(WORKSHEET_NAME)
    l = wks.Cells(wks.Rows.Count, 1).End(xlUp).Row + 1
    
    With wks
        .Cells(l, 1) = fso.GetFileName(p)
        .Hyperlinks.Add .Cells(l, 1), p
        Set fo = fso.GetFolder(fso.GetParentFolderName(p))
        .Cells(l, 3) = fo.Name
        Set fo = fso.GetFolder(fso.GetParentFolderName(fo.Path))
        .Cells(l, 2) = fo.Name
    End With
    
    Set wks = Nothing
    Set fo = Nothing
End Sub

Bitte den Verweis hinzufügen und die Einstellungen ändern. Anschließend das Makro ausführen.

Gruß


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
16.05.2017 13:52:35 Selina
NotSolved
Blau Ordnernamen, Unterordnernamen und Dateiname als Hyperlink
16.05.2017 14:30:57 SJ
NotSolved
17.05.2017 08:53:50 Selina
NotSolved
17.05.2017 09:28:01 SJ
NotSolved
18.05.2017 11:42:03 Gast69587
Solved