Thema Datum  Von Nutzer Rating
Antwort
01.03.2021 08:20:59 Willi
NotSolved
Blau Ordnerinhalt auslesen
01.03.2021 08:54:10 Mase
NotSolved
01.03.2021 12:58:47 Gast93624
NotSolved
01.03.2021 13:37:31 Mase
NotSolved
01.03.2021 17:06:02 Willi
NotSolved
01.03.2021 17:37:47 Mase
Solved
01.03.2021 20:42:54 Trägheit
NotSolved
01.03.2021 21:36:22 Willi
NotSolved
08.04.2021 13:35:53 Willi
NotSolved
08.04.2021 16:36:21 Mase
NotSolved

Ansicht des Beitrags:
Von:
Mase
Datum:
01.03.2021 08:54:10
Views:
531
Rating: Antwort:
  Ja
Thema:
Ordnerinhalt auslesen

Hi,

Bedingungen anpassen/ändern/entfernen und von diesem rekursivem Gebilde ableiten:

Option Explicit
 
Private fso as Object
CONST s_TEILBEZEICHNUNG as String = "*aktuell*"
CONST s_LEFT_2_ORDNERNAME As String = "A-"
 
Sub main()
    Set fso = CreateObject("Scripting.FileSystemObject")
    DurchsucheOrdner "T:\Technische Dokumentation"   
End Sub
 
Sub DurchsucheOrdner(ByVal sPfad As String)
 
    Dim fil                                     As Object
    Dim subFldrKunde                            As Object
    Dim subFldrArtikel                          As Object
    Dim subFldrDokumente                        As Object
    Dim vDokumentenOrdner                       As Variant
     
    '*** zu findende Dokumentation
    vDokumentenOrdner = Array("Arbeitsanweisungen", "Maschineneinstellplan", "Verpackungsvorschriften")
     
     
    For Each subFldrKunde In fso.GetFolder(sPfad).SubFolders                                                            '*** Technische Dokumentation
             
        If (Len(subFldrKunde.ShortName) = 3) Or (Left(UCase(subFldrKunde.ShortName), 2) = s_LEFT_2_ORDNERNAME) Then     '*** Technische Dokumentation02
             
            For Each subFldrArtikel In fso.GetFolder(subFldrKunde).SubFolders                                           '*** Technische Dokumentation02A-002001
                If (Left(UCase(subFldrArtikel.ShortName), 2) = s_LEFT_2_ORDNERNAME) Then
                     
                    For Each subFldrDokumente In fso.GetFolder(subFldrArtikel).SubFolders                               '*** Technische Dokumentation02A-002001Arbeitsanweisung, Maschineneinstellplan, Verpackungsvorschrift
                        If UBound(Filter(vDokumentenOrdner, subFldrDokumente.Name)) >= 0 Then
                             
                            For Each fil In fso.GetFolder(subFldrDokumente).Files                                       '*** Dokumente; wenn im Namen "*aktuell*" auftaucht
                                If fil.Name Like s_TEILBEZEICHNUNG Then
                                 
                                    With ThisWorkbook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp)
                                        .Offset(1, 0).Value = subFldrKunde.ShortName
                                        .Offset(1, 1).Value = subFldrArtikel.Name
                                        .Offset(1, 2).Value = subFldrDokumente.Name
                                        .Offset(1, 3).Value = fil.Name
                                        '*** Hyperlink.Add
                                        .Parent.Hyperlinks.Add Anchor:=.Offset(1, 3), Address:=subFldrDokumente.Path & "" & fil.Name
                                    End With
                                     
                                End If
                            Next
                        End If
                    Next
                End If
            Next
             
        End If
    Next
End Sub

 


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
01.03.2021 08:20:59 Willi
NotSolved
Blau Ordnerinhalt auslesen
01.03.2021 08:54:10 Mase
NotSolved
01.03.2021 12:58:47 Gast93624
NotSolved
01.03.2021 13:37:31 Mase
NotSolved
01.03.2021 17:06:02 Willi
NotSolved
01.03.2021 17:37:47 Mase
Solved
01.03.2021 20:42:54 Trägheit
NotSolved
01.03.2021 21:36:22 Willi
NotSolved
08.04.2021 13:35:53 Willi
NotSolved
08.04.2021 16:36:21 Mase
NotSolved