VBA Ordner erstellen

Verwendet man Microsoft Office, zum Beispiel Access, Excel oder Outlook, ist VBA ein willkommener Helfer, wenn es darum geht Arbeitsabläufe zu automatisieren und immer wiederkehrende Aufgaben mit einem Klick über Makros ausführen zu lassen.
Dabei kommt es oft vor, dass man Dateien, wie z.B. E-Mail-Anhänge, in einem Ordner speichern möchte. Meistens muss der passende Ordner dafür ebenfalls erstellt werden.

Einen neuen Ordner kann man sich in VBA ganz leicht mit dieser Funktion erstellen:

MkDir(c:\Users\username\meinPfad\neuerOrdnerName)
Bestseller Nr. 1
Excel 2019: Das große Excel-Handbuch. Einstieg,...
  • Vonhoegen, Helmut (Autor)
  • 1080 Seiten - 22.02.2019 (Veröffentlichungsdatum) - Vierfarben (Herausgeber)

Code-Beispiel 1: Neuen Ordner erstellen

Das folgende Code-Beispiel ist eine öffentliche Funktion zum Erzeugen eines neuen Ordners. Der Pfad mit dem Ordnernamen wird innerhalb der Funktion definiert. Es wird in diesem Fall überprüft, ob der Ordner vorhanden ist oder nicht. Ist letzteres der Fall, wird die Funktion MkDir(…) ausgeführt und eine Meldung (MsgBox) ausgegeben. Die Zeile mit MsgBox ist für den ersten Test gedacht. Diese kann man löschen, da die Meldung in der produktiven Anwendung störend sein dürfte.

' erstellt einen Ordner
Public Sub MakeDir()
  'String für Ordnerpfad definieren
  Dim strFolderPath As String
  strFolderPath = "c:\Users\username\meinPfad\neuerOrdnerName"
  ' Überprüfen, ob Ordner bereits existiert
  If Dir(strFolderPath, vbDirectory) = "" Then
    ' Ordner anlegen
    MkDir (strFolderPath)
    MsgBox "Ordner wurde angelegt!"
  Else
    MsgBox "Ordner ist vorhanden!"
  End If
End Sub

Code-Beispiel 2: Ordnerpfad als Parameter

Das folgende Code-Beispiel ist geeignet, um es in größeren Projekten zu verwenden. Die Funktion wird hier als Private deklariert. Dadurch erscheint diese auch nicht als ausführbares Makro. Der Ordnerpfad inkl. den neuen Ordnernamen wird als Parameter übergeben. So kann man diese Funktion aus anderen Funktionen, Klassen oder Formularen aufrufen.

' erstellt einen Ordner
Private Sub MakeDir(strFolderPath As String)
  ' Überprüfen, ob Ordner bereits existiert
  If Dir(strFolderPath, vbDirectory) = "" Then
    ' Ordner anlegen
    MkDir (strFolderPath)
  Else
    ' mache irgendwas
  End If
End Sub

Aufrufen der Funktionen

Will man die erstellten Funktionen innerhalb von anderen Code ausführen, so ruft man diese wie folgt auf:

' Code-Beispiel 1
MakeDir
' Code-Beispiel 2
Dim strNewFolderPath As String
strNewFolderPath = "c:\Users\username\meinPfad\neuerOrdnerName"
MakeDir strNewFolderPath 
'Code-Beispiel 2 alternativ
MakeDir "c:\Users\username\meinPfad\neuerOrdnerName"

Microsoft Office: Ordner mit Makro erstellen

Oder man führt die Funktion, sofern diese als Public deklariert ist, direkt über den Makro-Editor der jeweiligen Office-Anwendung aus.

Screenshot Makro ausführen
Makro-Editor: Funktion “MakeDir” auswählen und ausführen
Bestseller Nr. 1
Powerful PowerPoint for Educators: Using Visual...
  • Marcovitz, David M. (Autor)
  • 294 Seiten - 15.05.2012 (Veröffentlichungsdatum) - Libraries Unlimited (Herausgeber)
Bestseller Nr. 2

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.