Hallo Kollegen
Wie kann ich Exce VBA dazu bringen, dass es mir ein Verzeichniss mit den aktuellen Monatsnamen erstellt? z.B. „Januar 2012“ Fals das Verzeichniss schon existiert, soll es nicht erstellt werden.
Danach möchte ich den Speicherpfad sso abändern, dass es mir immer in das Verzeichniss des aktuellen Monats spring und dort die Dateib speichert.
Derzeit sieht die Pfadangabe so aus:
"T:\NM_Public\E&T\NE_NW_Implement\CMTS CORE AUSLASTUNG\Auswertungen 2012\Januar 2012“
Vielen Dank für eure Hilfe
Gruss
W. Häfliger
"T:\NM_Public\E&T\NE_NW_Implement\CMTS CORE
AUSLASTUNG\Auswertungen 2012\Januar 2012“
Hallo Walter,
soll die 2012 in
Auswertungen 2012
auch je nach aktuellem jahr abgeändert werden?
Also z.B. Auswertungen 2013
erstellt werden?
Gruß
Reinhard
Hallo Richard
Das ist eine berechtigte Frage. Weiss ich aber selbst nicht. Ich denke eher nicht, da sich das ja nur einmal im Jahr ändert.
Gruss
Walter
Das ist eine berechtigte Frage. Weiss ich aber selbst nicht.
Ich denke eher nicht, da sich das ja nur einmal im Jahr
ändert.
Hallo Walter,
ungetestet, Code gehört in ein Standardmodul:
Option Explicit
Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" \_
(ByVal lpPath As String) As Long
Sub Test()
Dim strPath As String, lngRet As Long
Const strPfad As String = "T:\NM\_Public\E&T\NE\_NW\_Implement\CMTS CORE AUSLASTUNG\"
strPath = strPfad & "Auswertungen " & Format(Date, "YYYY") & "\"
strPath = strPath & Format(Date, "MMMM YYYY")
lngRet = MakeSureDirectoryPathExists(strPath)
If lngRet 0 Then ThisWorkbook.SaveAs strPath & "\" & ThisWorkbook.Name
End Sub
Gruß
Reinhard
Hallo Richard
Ich bekomme eine Fehlermeldung:
MakeSureDirectoryPathExists Sub oder Funktion nicht Definiert.
Gruss
Walter
Ich bekomme eine Fehlermeldung:
MakeSureDirectoryPathExists Sub oder Funktion nicht Definiert.
Hallo Walter,
wenn du sicher bist daß du auch die Deklaration der API-Funktion mit rüberkopert hast und der Code auch in einem Standardmodul steht dann zeige mal bitte den kompletten Code der in dem Modul steht.
Hinweis, DieseArbeitsmappe, Tabelle1, Tabelle2 usw, sind KEINE Standardmodule.
Das sind Klassenmodule der Arbeitsmappe o.ä.
Gruß
Reinhard
Hallo Richaerd
Sorry mein Fehler! Ich hatte natürlich nur den Teil ab Sub kopiert.
-Jetzt scheint es zu klappen!
Danke
Gruss
Walter
Verzeichnisse, Verzeichnisbäume anlegen mit VBA
Hallo Wetlar,
(Richaerd? Tztz) *kicher*
Sorry mein Fehler! Ich hatte natürlich nur den Teil ab Sub
kopiert.
-Jetzt scheint es zu klappen!
Sag Bescheid falls nicht. Und falls dem so ist gehe ich jetzt schon erstmal davon aus daß es nicht funktioniert weil du da auf Ordner zugreifen willst durch den Code auf die du keine Zugriffsrechte hast o.ä. Gibt da natürlich auch andere Gründe.
Übrigens, wenn du nach Ordnererstellung im Code überprüfen willst ob
der Ordner auch erstellt wurde könntest du nach der Codezeile
lngRet = MakeSure…
sowas einbauen:
If lngRet 0 Then
MsgBox "das Verzeichnis '" & strPath & "' wurde erstellt!", vbInformation, "Hinweis"
Else
MsgBox "das Verzeichnis '" & strPath & "' konnte nicht erstellt werden!", vbInformation, "Hinweis"
End If
Falls du etwas wesentliches in meinem Code noch nicht erkannt hast.
MakeSureDirectoryPathExists() erstellt den untersten Unterordner,
und wenn die darüber befindlichen Ordner nicht existieren werden die gleich mit erstellt.
Diese API-Funktion ist also viel mächtiger als das MkDir im normalen Vba.
Gruß
Reinhard