Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1640to1644
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pfad nach Dateinamen absuchen

Pfad nach Dateinamen absuchen
26.08.2018 13:32:01
Marcel
Hallo zusammen
Ich wäre froh um eure Hilfe. Folgendes möchte ich mit einer VBA-Prozedur automatisieren:
Als Unterprozedur eines grösseren Vorhabens soll ein Ordner auf eine eventuell schon vorhandene Datei mit einem Namen, wo die Maschinennummer vorhanden ist. Wenn vor einiger Zeit bereits eine frühere Version erstellt wurde, soll kein neuer Ordner erstellt werden, sondern die zu erstellende Datei in den existierenden Ordner gespeichert werden.
Wie frage ich eine willkürliche Zeichenkette ab? Der fixe Suchparameter soll die Maschinennummer sein.
Bisher konnte ich den Code für die Suche des kompletten Pfad schreiben und er funktioniert. Kann mir jemand helfen mein Vorhaben zu realisieren?
Sub OrdnerErstellen()
Pfad = "C:\Users\marcels\Documents\Temp\Projects" & "\"                     ' Für Tests
Jahr = Year(Date)
Tag = Day(Date)
If Month(Date) 

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

Betreff
Datum
Anwender
Anzeige
AW: Pfad nach Dateinamen absuchen
26.08.2018 14:17:29
Nepumuk
Hallo Marcel,
du willst also ein Laufwerk nach einem bestimmten Ordner durchsuchen? Hab ich das richtig verstanden?
Gruß
Nepumuk
AW: Pfad nach Dateinamen absuchen
26.08.2018 14:41:25
Marcel
Ja genau... Also respektive, ich möchte einen Ordner nach Unterordnern absuchen, welche im Namen die Maschinennummer haben.
AW: Pfad nach Dateinamen absuchen
26.08.2018 14:56:38
Nepumuk
Hallo Marcel,
teste mal:
Public Sub test2()
    Const FOLDER_PATH As String = "G:\Eigene Dateien\"
    Dim astrFolders() As String, strEnginenumber As String
    Dim ialngIndex As Long
    strEnginenumber = "Test 123"
    astrFolders = GetFolders(FOLDER_PATH)
    For ialngIndex = LBound(astrFolders) To UBound(astrFolders)
        If astrFolders(ialngIndex) Like "*" & strEnginenumber & "*" Then
            MsgBox astrFolders(ialngIndex) 'zum testen
            'weiterer Code
        End If
    Next
End Sub

Private Function GetFolders(ByVal pvstrPath As String) As String()
    Dim astrFolders() As String
    Dim strFolder As String, strPath As String
    Dim ialngIndex1 As Long, ialngIndex2 As Long
    strPath = pvstrPath
    Do
        strFolder = Dir$(strPath & "*", vbDirectory)
        Do Until strFolder = vbNullString
            If strFolder <> "." And strFolder <> ".." Then
                If GetAttr(strPath & strFolder) And vbDirectory Then
                    Redim Preserve astrFolders(0 To ialngIndex1)
                    astrFolders(ialngIndex1) = strPath & strFolder & "\"
                    ialngIndex1 = ialngIndex1 + 1
                End If
            End If
            strFolder = Dir$
        Loop
        If ialngIndex1 = ialngIndex2 Then Exit Do
        strPath = astrFolders(ialngIndex2)
        ialngIndex2 = ialngIndex2 + 1
    Loop
    GetFolders = astrFolders
End Function

Gruß
Nepumuk
Anzeige
AW: Pfad nach Dateinamen absuchen
26.08.2018 15:01:27
Marcel
Vielen Dank!! Werde es gleich testen.
Hoffte es gibt eine simple Lösung wie "suchte nach einer beliebigen Zeichenkette *, aber die Maschinennummer xy muss enthalten sein. Wenn gefunden dann... sonst erstell einen neuen Ordner..."
Aber danke für Deine kompetente Hilfe und ein schönes Wochenende!
Gruss Marcel

117 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige