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

Ordner anlegen

Ordner anlegen
10.04.2017 11:13:19
Marc
Moin, ich habe bereitsüber dieses Forum eine super Excel-Funktion erstellen können.
Dafür habe ich mir folgenden Code "geklaut":
Option Explicit
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long
Sub SpeichernUnter()
Dim strFilePath As String
Dim strExt As String, lngFormat As Long
Const cstrStdPath = "Y:\Melktechnik\Kunden\"
getFileExtAndFormat ThisWorkbook, strExt, lngFormat
With ThisWorkbook
With .Worksheets("Hilfstabelle")
strFilePath = cstrStdPath & IIf(Right(cstrStdPath, 1) = "\", "", "\") & _
.Range("B2") & IIf(Right(.Range("B2"), 1) = "\", "", "\") & _
.Range("B5") & IIf(Right(.Range("B5"), 1) = "\", "", "\") & _
.Range("B6") & IIf(Right(.Range("B6"), 1) = "\", "", "\") & .Range("B1") & .Range("B2") & strExt
End With
If MakeSureDirectoryPathExists(strFilePath) 0 Then .SaveAs strFilePath, lngFormat
End With
End Sub
Private Function getFileExtAndFormat(ByRef WB As Workbook, ByRef strExt As String, ByRef  _
lngFormat As Long)
With WB
If Val(Application.Version) 

Es wird unter Y:\Melktechnik\Kunden\ nun noch ein Kundenordner mit Kundenname und Kundennummer (Info kommt aus Zelle B2) erstellt, darin ein Ordner Auftragsnummer (Info kommt aus Zelle B5) und darin ein Ordner "Aufträge" mit der Datei gespeichert.
Soweit alles Prima.
Nun stellt sich folgende Aufgabe:
- ich möchte im Ordner, der aus Zelle B5 erstellt wird nicht nur den Ordner Aufträge erstellen, sondern zusätzlich weitere Ordner einfügen, bspw. Bilder, Schriftverkehr, Protokolle, etc. ohne, dass darin eine Datei gespeichert wird.
Ist das Möglich?
MfG Marc

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

Betreff
Datum
Anwender
Anzeige
AW: Ordner anlegen
10.04.2017 11:34:11
UweD
Hallo
der Befehl wäre MKDIR()

cstrStdPath = "Y:\Melktechnik\Kunden\"
MkDir (cstrStdPath & "Neu")

Kannst du selbst einbauen...
LG UweD
AW: Ordner anlegen
10.04.2017 11:51:08
Marc
Hallo UweD,
vielen Dank für die schnelle Antwort.
Wo genau muss ich den Befehl einbauen?
Ich habe mehrere Versionen ausprobiert, aber ich bekomme nur Fehler.
Vielen Dank für die Unterstützung.
VG Marc
AW: Ordner anlegen
10.04.2017 12:52:36
UweD
Hallo nochmal
ohne Musterdatei immer schwierig zu testen.
Ich denke nach ....B5 sollen die neuen Ordner angelegt werden oder?
Ich habe den Gesamtpfad in 2 Teile ausgespalten...
Sub SpeichernUnter()
    Dim strFilePath1 As String
    Dim strFilePath2 As String
    Dim strExt As String, lngFormat As Long
    
    Const cstrStdPath = "Y:\Melktechnik\Kunden\"
    'Const cstrStdPath = "C:\temp\" 
    
    getFileExtAndFormat ThisWorkbook, strExt, lngFormat
    
    With ThisWorkbook
        With .Worksheets("Hilfstabelle")
            strFilePath1 = cstrStdPath & IIf(Right(cstrStdPath, 1) = "\", "", "\") & _
            .Range("B2") & IIf(Right(.Range("B2"), 1) = "\", "", "\") & _
            .Range("B5") & IIf(Right(.Range("B5"), 1) = "\", "", "\")
            
            strFilePath2 = strFilePath1 & .Range("B6") & IIf(Right(.Range("B6"), 1) = "\", "", "\") _
            & .Range("B1") & .Range("B2") & strExt
            MkDir (strFilePath1 & "Bilder")
            MkDir (strFilePath1 & "Schriftverkehr")
            MkDir (strFilePath1 & "Protokolle")
            '..usw. 
        End With
    
        If MakeSureDirectoryPathExists(strFilePath2) <> 0 Then .SaveAs strFilePath2, lngFormat
    End With

End Sub

LG UweD
Anzeige
AW: Ordner anlegen
10.04.2017 13:49:31
Marc
Hallo nochmal,
vielen Dank, ich habe das ganze nochmals getestet.
Der Ordner, welchen ich aus Zelle B5 erstelle muss bereits vorhanden sein, sonst können die Unterordner nicht erstellt werden.
Heißt für mich aktuell:
ich spiele erst mein Original-Makro ab und anschließend nochmals dein überarbeitetes Makro. Dann werden die Unterordner erstellt.
Vielen Dank für die Lösung!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige