Ordner mit Unterordner und Datei aus Excel erstellen

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von volti.

    Ordner mit Unterordner und Datei aus Excel erstellen

    Hallo.

    Ich möchte aus Excel (Ordnertext in Zelle), Ordner inklusieve Unterordner und in einem Ordner eine Datei erstellen.
    Ich habe es geschafft die Ordner erstellt werden aber nicht wie ich die Unterordner und in einen der Unterordner eine Datei anlegen kann.
    Anbei der bisherige Code. Ich hoffe mir kann hier geholfen werden. Danke schon mal.

    Visual Basic-Quellcode

    1. Sub CreateNewFolders()
    2. Dim strPath As String
    3. Dim newFolderPath As String
    4. 'hier Pfad festlegen, wo Ordner erstellt werden sollen
    5. strPath = "C:\Users\Ricky.Kresge\Documents\Ordner\"
    6. 'Tabelle1 ersetzen durch Name des Tabellenblatts
    7. 'A2:A31 ersetzen durch Bereich, wo Ordnernamen enthalten sind
    8. For Each c In Worksheets("Muster").Range("E2:E1000").Cells
    9. newFolderPath = strPath & c.Value
    10. MkDir (newFolderPath)
    11. Next
    12. End Sub


    *Topic verschoben, Code-Tag eingefügt*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Hallo Stixx,

    die o.a. angesprochene alte DOS-Funktion MKDIR erstellt einen (Unter)Ordner basierend auf einem Hauptordner. Zum Anlegen ganzer Strukturen bedarf es einer strukturierten Vorgehensweise. Ist der neue Ordner schon vorhanden, gibt es einen Fehler, den es gilt abzufangen....

    Zum Anlegen eines kompletten Pfades empfiehlt sich die Verwendung einer API-Funktion.
    Eine wurde bereits von Achilleus angeführt, wobei häufig geäußert wird, dass diese Funktion schon etwas veraltet sei.

    Ich empfehle hier die API-Funktion SHCreateDirectoryExW, die einen ganzen Pfad neu erstellt, wobei durch das Fehlermanagement abfangbare Rückmeldungen erfolgen.

    hier ein Beispiel und ein Link zum Thema.

    VB.NET-Quellcode

    1. Private Declare PtrSafe Function SHCreateDirectoryExW Lib "Shell32.dll" ( _
    2. ByVal hwnd As LongPtr, ByVal pszPath As LongPtr, ByVal psa As LongPtr) As Long
    3. Sub OrdnerErstellen()
    4. Dim sHauptordner As String
    5. Dim oRng As Range
    6. sHauptordner = "C:\Users\npamit\Desktop"
    7. With ThisWorkbook.Sheets("Tabelle1")
    8. For Each oRng In .Range("E3:E" & .Cells(.Rows.Count, "E").End(xlUp).Row)
    9. If oRng.Value <> "" Then
    10. SHCreateDirectoryExW 0, StrPtr(sHauptordner & "\" & oRng.Value & "\"), 0
    11. ' SHCreateDirectoryExW 0, StrPtr(oRng.Value & "\"), 0 ' oder Angabe kompletter Ordner
    12. End If
    13. Next oRng
    14. End With
    15. MsgBox "Ordner wurden erstellt!", vbInformation, "Ordner erstellen"
    16. End Sub


    clever-excel-forum.de/Thread-O…truktur-erstellen-mit-VBA

    Gruß
    Karl-Heinz