Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
316to320
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Feststellen ob ein Unterverzeichnis existiert

Feststellen ob ein Unterverzeichnis existiert
02.10.2003 22:18:21
Hans-Werner Schmidt
Hallo
Für eine Abrechnung speichere ich jeden Tag Dateien per Makro in ein Verzeichnis.Die Werte Jahr (2003),Monat(10),Tag(01) sind über ein Drehfeld vorgegeben z.B.
C:/Abrechnung/2003/10/01.xls
C:/Abrechnung/2003/10/02.xls
Frage: Wie kann ich Abfragen ob das vorgegebene Jahr und der Monat exestiert.Wenn nicht soll das Jahr bzw. der Monat erstellt werden.
Wer weiß Rat?
Vielen Dank im voraus. Werner

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Feststellen ob ein Unterverzeichnis existiert
02.10.2003 23:11:44
Franz W.
Hallo Werner,

mal fürs Jahr, entsprechend dann für den Monat:


Sub Neue_Datei()
Dim jZahl as Integer
jZahl = Year(Date)
'''  Neue Datei speichern
''  Prüfen ob Ordner C:\Abrechnung\jZahl\ existiert
Set Fso = CreateObject("Scripting.FileSystemObject")
Ordnername = "C:\Abrechnung\" & jZahl & "\"
If Not Fso.FolderExists(Ordnername) Then
' Ordner  ...\jZahl\  erstellen
MkDir "C:\Abrechnung\" & jZahl & "\"
End If
''  Speichern im Ordner C:\Abrechnung\jZahl\
ActiveWorkbook.SaveAs "C:\Abrechnung\" & jZahl & "\Dein_Dateiname" & ".xls"
End Sub


Grüße
Franz
Anzeige
Komplett und fehlerbereinigt
02.10.2003 23:25:44
Franz W.
Hallo Werner,

war zu schnell vorhin, aber so klappt er - getestet:

Option Explicit


Sub Neue_Datei()
Dim jZahl As Integer, mZahl As Byte, tZahl As Byte
Dim Fso, Ordnername
jZahl = Year(Date)
mZahl = Month(Date)
tZahl = Day(Date)
'''  Neue Datei speichern
''  Prüfen ob Ordner C:\Abrechnung\jZahl\ existiert:
Set Fso = CreateObject("Scripting.FileSystemObject")
Ordnername = "C:\Abrechnung\" & jZahl & "\"
If Not Fso.FolderExists(Ordnername) Then
' Ordner  C:\Abrechnung\jZahl\  erstellen:
MkDir "C:\Abrechnung\" & jZahl & "\"
End If
''  Prüfen ob Ordner C:\Abrechnung\jZahl\mZahl existiert:
Set Fso = CreateObject("Scripting.FileSystemObject")
Ordnername = "C:\Abrechnung\" & jZahl & "\" & mZahl & "\"
If Not Fso.FolderExists(Ordnername) Then
' Ordner  C:\Abrechnung\jZahl\mZahl  erstellen:
MkDir "C:\Abrechnung\" & jZahl & "\" & mZahl & "\"
End If
''  Speichern im Ordner C:\Abrechnung\jZahl\
ActiveWorkbook.SaveAs "C:\Abrechnung\" & jZahl & "\" & mZahl & "\" & tZahl & ".xls"
End Sub


Grüße
Franz
Anzeige
Alternative
02.10.2003 23:45:18
Franz W.
Hallo Werner,

hab grad noch mal gesehen, dass Du Jahr, Monat und Tag über ein Drehfeld in eine Zelle schreibst. Dann kannst Du Dir auch diese eingestellten Werte holen. Als Beispiel:
Jahr steht in A1
Monat steht in B1
Tag steht in C1

dann schreibst Du:


Sub Neue_Datei()
Dim jZahl As Integer, mZahl As Byte, tZahl As Byte
Dim Fso, Ordnername
jZahl = [A1]
mZahl = [B1]
tZahl = [C1]
'''  Neue Datei speichern
''  Prüfen ob Ordner C:\Abrechnung\jZahl\ existiert:
Set Fso = CreateObject("Scripting.FileSystemObject")
Ordnername = "C:\Abrechnung\" & jZahl & "\"
If Not Fso.FolderExists(Ordnername) Then
' Ordner  C:\Abrechnung\jZahl\  erstellen:
MkDir "C:\Abrechnung\" & jZahl & "\"
End If
''  Prüfen ob Ordner C:\Abrechnung\jZahl\mZahl existiert:
Set Fso = CreateObject("Scripting.FileSystemObject")
Ordnername = "C:\Abrechnung\" & jZahl & "\" & mZahl & "\"
If Not Fso.FolderExists(Ordnername) Then
' Ordner  C:\Abrechnung\jZahl\mZahl  erstellen:
MkDir "C:\Abrechnung\" & jZahl & "\" & mZahl & "\"
End If
''  Speichern im Ordner C:\Abrechnung\jZahl\
ActiveWorkbook.SaveAs "C:\Abrechnung\" & jZahl & "\" & mZahl & "\" & tZahl & ".xls"
End Sub

Anzeige
AW: Alternative
03.10.2003 15:04:25
Hans-Werner Schmidt
Franz du hast mein Problem erkannt und gelöst ich probiere es umgehend aus.
Hochachtung für so viel Können.
Danke
Vielen Dank für die Blumen, aber...
03.10.2003 16:48:39
Franz W.
Hallo Werner,

vielen Dank für die Rückmeldung. Die Blumen aber geb ich gerne an meine Helfre weiter. In dem Code ist nicht alles von mir, das ist viel Hilfe aus dem Forum (in diesem speziellen Fall von Hajo) drin. Hab's dann nur noch entsprechend zusammengestellt ;-)). Freut mich aber, wenn ich Dir damit helfen konnte.

Grüße
Franz
AW: Feststellen ob ein Unterverzeichnis existiert
02.10.2003 23:19:17
PeterW
Hallo Hans-Werner,

schau mal links unter Excel-FAQ - Datei - Name - Prüfen ob Name exisitiert.

Gruß
Peter
Anzeige
AW: Feststellen ob ein Unterverzeichnis existiert
03.10.2003 15:10:33
Hans-Werner Schmidt
Hallo Peter
das mit der Datei war klar, das habe ich mir auch schon von der Herber-CD geholt.
Wichtig war mir das der Ordner in den abgespeichert wird auch vorhanden ist.Bislang habe ich die Unterordner für das ganze Jahr angelegt.
Vielen Dank trotzdem
Werner
AW: Feststellen ob ein Unterverzeichnis existiert
02.10.2003 23:50:46
K.Rola
Hallo,

Option Explicit
Declare

Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Sub Pfad_existiert()
MakeSureDirectoryPathExists "c:\Abrechnung\spinbuttonJahr\SpinbuttonMonat\"
''Dein Speicherncode
End Sub


Gruß K.Rola
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige