Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
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

Ordnerstruktur anlegen

Ordnerstruktur anlegen
12.03.2021 09:32:08
Manfred
Hallo zusammen,
ich habe viel im Internet und in diesem Forum gesucht jedoch nichts Passendes gefunden.
Ich würde gern per Makro eine Ordnerstruktur mit max. 5 Unterordnern anlegen.
Jeder Lieferant in Spalte A muss mit dieser Ordnerstruktur angelegt werden
Es können mehr als 400 Lieferanten werden.
Sollten bei einem 2ten Lauf noch Ordner dazu kommen sollte das Makro keine Fehlermeldung bringen sondern die neuen Ordner anlegen.
Ich hoffe das angehängte Beispiel ist verständlich.
https://www.herber.de/bbs/user/144690.xlsx
Kann mir bitte jemand helfen ?
Ich bekomme das alleine nicht gebacken
Mit freundlichen Grüßen
Manfred

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit einem alten einfachen DOS-Befehl ...
12.03.2021 09:47:03
neopa
Hallo Manfred,
... solltest Du das erzeugen können. Vor Deinem ermittelten Verzeichnispfad in der Spalte bedarf es ja dazu nur noch Dein Laufwerksangabe aus I1 und mit dem DOS Befehl md kannst Du es danach erzeugen.
Gruß Werner
.. , - ...

AW: mit einem alten einfachen DOS-Befehl ...
12.03.2021 11:30:00
Armin
Hallo Manfred,
das ist ja mächtig gewaltig. Aber teste mal: (Zur Zeit mus ein Pfad oder Laufwerk in Zeile 1 Spalte "I" definiert sein. Sonst musst Du den Code Anpassen.
https://www.herber.de/bbs/user/144697.xlsm
Gruß Armin

AW: mit einem alten einfachen DOS-Befehl ...
12.03.2021 11:38:09
Manfred
Hallo Armin,
die Unterordner fehlen.
Das wird angelegt.
Lieferant_1\01_Archiv\01_Besprechung\01_Erledigt\01_Neuvorstellung\01_Defekt
Schau dir bitte das Excel nochmal an.
Das müsste alles rein.
Lieferant_1\01_Archiv\01_Besprechung\01_Erledigt\01_Neuvorstellung\02_Freigabe
Lieferant_1\01_Archiv\01_Besprechung\02_Offen
Lieferant_1\01_Archiv\02_Schriftferkehr
Lieferant_1\01_Archiv\03_Datenblaetter
Lieferant_1\02_Pruefen\01_Matrix\01_Zerlegen
Lieferant_1\02_Pruefen\01_Matrix\02_Erstellen
Lieferant_1\02_Pruefen\02_Berechnung
Lieferant_1\03_Schriftferkehr\01_Email
Lieferant_1\03_Schriftferkehr\02_Briefe
Lieferant_1\04_Datenblaetter\01_PDF
Lieferant_1\04_Datenblaetter\02_TXT
Lieferant_1\04_Datenblaetter\03_andere
Gruß
Manfred

Anzeige
AW: mit einem alten einfachen DOS-Befehl ...
12.03.2021 11:53:18
Armin
Hallo Manfred,
so geht das aber nicht. Ein Verzeichnis kannst Du nur einmal anlegen! Das andere müssen Sub-Verzeichnisse sein.
Gruß Armin

AW: Ordnerstruktur anlegen
12.03.2021 10:15:32
Nepumuk
Hallo Manfred,
so?
Option Explicit

Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
    ByVal DirPath As String) As Long

Public Sub CreateFolders()
    Dim lngRow As Long, lngReturn As Long
    Dim strDrive As String, strFolder As String
    strDrive = Cells(1, 9).Value
    For lngRow = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        strFolder = Join(Application.Transpose(Application.Transpose( _
            Range(Cells(lngRow, 1), Cells(lngRow, 6)).Value)), "\")
        Do While Right$(strFolder, 1) = "\"
            strFolder = Left$(strFolder, Len(strFolder) - 1)
        Loop
        strFolder = strFolder & "\"
        lngReturn = MakeSureDirectoryPathExists(strDrive & strFolder)
    Next
End Sub

Gruß
Nepumuk

Anzeige
AW: Ordnerstruktur anlegen
12.03.2021 11:09:32
Manfred
Hallo Nepumuk,
danke für das Makro.
Leider wird immer nur der erste Ordner angelegt nicht aber die Ordner 02, 03, 04
Gruß
Manfred

AW: Ordnerstruktur anlegen
12.03.2021 11:22:19
Nepumuk
Hallo Manfred,
dann schau mal in den ersten Ordner.
Bei mit sieht das dann so aus:
C:\Lieferant_1\01_Archiv\01_Besprechung\01_Erledigt\01_Neuvorstellung\01_Defekt
Gruß
Nepumuk

AW: Ordnerstruktur anlegen
12.03.2021 11:29:51
Manfred
Hallo Nepumuk,
die Unterordner fehlen.
Brauchst du noch ein besseres Beispiel ?
Schau dir bitte das Excel noch mal an.
Das ist von dir.
Lieferant_1\01_Archiv\01_Besprechung\01_Erledigt\01_Neuvorstellung\01_Defekt
Das sollte alles rein.
Lieferant_1\01_Archiv\01_Besprechung\01_Erledigt\01_Neuvorstellung\02_Freigabe
Lieferant_1\01_Archiv\01_Besprechung\02_Offen
Lieferant_1\01_Archiv\02_Schriftferkehr
Lieferant_1\01_Archiv\03_Datenblaetter
Lieferant_1\02_Pruefen\01_Matrix\01_Zerlegen
Lieferant_1\02_Pruefen\01_Matrix\02_Erstellen
Lieferant_1\02_Pruefen\02_Berechnung
Lieferant_1\03_Schriftferkehr\01_Email
Lieferant_1\03_Schriftferkehr\02_Briefe
Lieferant_1\04_Datenblaetter\01_PDF
Lieferant_1\04_Datenblaetter\02_TXT
Lieferant_1\04_Datenblaetter\03_andere
Gruß
Manfred

Anzeige
AW: Ordnerstruktur anlegen
12.03.2021 11:43:16
Nepumuk
Hallo Manfred,
ich bin von den Spalten A-F ausgegangen. Du willst die Struktur von Spalte G.
Dann so:
Option Explicit

Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
    ByVal DirPath As String) As Long

Public Sub CreateFolders()
    Dim lngRow As Long, lngReturn As Long
    Dim strDrive As String, strFolder As String
    strDrive = Cells(1, 9).Value
    For lngRow = 2 To Cells(Rows.Count, 7).End(xlUp).Row
        strFolder = Cells(lngRow, 7).Value
        If Right$(strFolder, 1) <> "\" Then strFolder = strFolder & "\"
        lngReturn = MakeSureDirectoryPathExists(strDrive & strFolder)
    Next
End Sub

Gruß
Nepumuk

Anzeige
AW: Ordnerstruktur anlegen
12.03.2021 11:57:20
Manfred
Hallo Nepumuk,
jetzt passt alles.
Ich sage recht herzlichen Dank.
Schönes Wochenende.
Gruß
Manfred

AW: Ordnerstruktur anlegen
12.03.2021 12:07:25
Manfred
Hallo Nepumuk,
sorry dass ich nochmal störe. Ich habe zu schnell geschossen.
Es wird nur ein Lieferant_1 angelegt. Lieferant_2 bis Lieferant_letzter fehlt.
Die Ordnerstruktur stimmt jetzt.
Gruß
Manfred

AW: Ordnerstruktur anlegen
12.03.2021 12:29:48
Nepumuk
Hallo Manfred,
das habe ich mir schon gedacht. Also:
Option Explicit

Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
    ByVal DirPath As String) As Long

Public Sub CreateFolders()
    Dim lngRow As Long, lngReturn As Long
    Dim strDrive As String, strFolder As String
    Dim objSupplier As Range
    strDrive = Cells(1, 9).Value
    For Each objSupplier In Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
        For lngRow = 2 To Cells(Rows.Count, 7).End(xlUp).Row
            strFolder = objSupplier.Value & Mid$(Cells(lngRow, 7).Value, InStr(1, Cells(lngRow, 7).Value, "\"))
            If Right$(strFolder, 1) <> "\" Then strFolder = strFolder & "\"
            lngReturn = MakeSureDirectoryPathExists(strDrive & strFolder)
        Next
    Next
End Sub

Gruß
Nepumuk

Anzeige
AW: Ordnerstruktur anlegen
12.03.2021 14:17:41
Manfred
Hallo Nepumuk,
alles klar jetzt funzt es.
Nochmals vielen Dank und schönes Wochenende.
Gruß
Manfred

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige