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

VBA Ordner und Unterordner flexibel erst

VBA Ordner und Unterordner flexibel erst
21.03.2023 07:19:40
Ralf

Hallo zusammen
Kann mir jemand helfen den Code anzupassen?
Ich habe diesen im Internet gefunden, und möchte gerne das in der Spalte B die Namen der UnterOrdner eingetragen werden können.
Ist das möglich?

Besten Dank im Voruas

Option Explicit

Function ordnerda(strPfad As String) As Boolean

If Right(strPfad, 1) = "\" Then strPfad = Left(strPfad, Len(strPfad) - 1)
If LCase(Dir(strPfad, vbDirectory)) = LCase(Split(strPfad, "\")(UBound(Split(strPfad, "\")))) Then ordnerda = True

End Function

Sub OrdnerErstellen()
Dim fso As Object
Dim i As Integer
Dim strPfad As String
Dim appWord As Object
Dim strText As String
Set fso = CreateObject("Scripting.Filesystemobject")
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
strPfad = ThisWorkbook.Path & "\" & Cells(i, 1)
If Not ordnerda(strPfad) Then
MkDir strPfad
MkDir strPfad & "\00_Archiv"
MkDir strPfad & "\01_Korrespondenz"
MkDir strPfad & "\02_SAR"
MkDir strPfad & "\03_Unterlagen"
MkDir strPfad & "\04_Fotos"
End If
Next i
Set fso = Nothing
strText = " Die Ordner mit den Dokumenten wurden angelegt !!!"
MsgBox strText, 64, "Meldung"
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Ordner und Unterordner flexibel erst
21.03.2023 07:57:22
volti
Hallo Ralf,

wenn Du nicht auf Deiner gefundenen Version bestehst, dann könntest Du auch diese Variante nutzen. In A steht der Hauptpfad und in B der Unterordner.
Man kann aber auch alles ungetrennt z.B. in A schreiben oder den Hauptpfad einmalig in einer Variablen vorhalten. Ganz nach Belieben.

Code:


Private Declare PtrSafe Function SHCreateDirectoryExW Lib "Shell32.dll" ( _ ByVal hwnd As LongPtr, ByVal pszPath As LongPtr, ByVal psa As LongPtr) As Long Sub ErstelleOrdner() Dim i As Long, sPfad As String For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row SHCreateDirectoryExW 0, StrPtr(Cells(i, "A") & "\" & Cells(i, "B").Value & "\"), 0 Next i End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz


Anzeige

149 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige