Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

MkDir legt keine Verzeichnisse an

MkDir legt keine Verzeichnisse an
05.02.2007 08:53:35
Thomas
Hallo Leute,
ich möchte Dateinamen automatisch erzeugen lassen und in verschiedene Verzeichnisse speichern, diese sollen angelegt werden, falls noch nicht vorhanden.
Variablen zum Dateinamen kommen aus Eingabe (C4, C7 & C10) sie werden auf a-c gespeichert.
In den Zellen Speicher_Pfad(A3-C3) gespeichert auf d-f stehen die Zielverzeichnisse.
Ist das Verzeichnis vorhanden klappt das auch ganz gut, aber seltsamerweise legt er die Verzeichnisse nicht an.
Hat jemand eine Idee, was ich falsch gemacht habe.
Gruß Tom

Private Sub Datei_speichern()
'Pfad = ActiveWorkbook.Path
Dim strFolder1, strFolder2, strFolder3 As String
Dim Nachname_Vorname, Datum, Diagnose
Dim a, b, c, d, e, f
With Worksheets("Eingabe")
a = .Cells(4, 3)
Nachname_Vorname = Split(a, ", ")
b = .Cells(7, 3)
Datum = Split(b, ".")
c = .Cells(10, 3)
Diagnose = Split(c, "-")
End With
With Worksheets("Speicher_Pfad")
d = .Cells(3, 1) 'Laufwerk (Zellinhalt z.B. C:)
e = .Cells(3, 2) 'Hauptverzeichnis
f = .Cells(3, 3) 'Unterverzeichnis
strFolder1 = d & "\" & e 'Hauptverzeichnis
strFolder2 = d & "\" & e & "\" & f 'Unterverzeichnis
strFolder3 = d & "\" & e & "\" & f & "\" & Diagnose(0) & "-" & Diagnose(1) 'Zielverzeichnis
End With
If Dir(strFolder3, vbDirectory) <> "" Then
GoTo speichern
Else
If MsgBox("Das Verzeichnis " & """" & strFolder3 & """" & " existiert nicht, " & _
vbLf & "neu anlegen? ", vbQuestion + vbYesNo) = vbNo Then Exit Sub
End If
If Dir(strFolder1, vbDirectory) = "" Then MkDir (strFolder1)
If Dir(strFolder2, vbDirectory) = "" Then MkDir (strFolder2)
MkDir (strFolder3)
GoTo speichern
speichern:
ActiveWorkbook.SaveAs strFolder3 & "\" & "Werkstatt" _
& "_" & Diagnose(0) & Diagnose(1) & "_" _
& Nachname_Vorname(0) & "_" & Nachname_Vorname(1) & "_" _
& Datum(0) & "_" & Datum(1) & "_" & Datum(2) & ".xls"
End Sub

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MkDir legt keine Verzeichnisse an
05.02.2007 09:35:06
Erich
Hallo Thomas,
in deinem Code habe ich keinen Fehler gefunden.
Überflüssig sind die Klammern hinter MkDir, aber das stört nicht.
Hast du mal im Makro einen Haltepunkt gesetzt und dir vor dem ersten MkDir
den Inhalt der strFolderX-Variablen angesehen?
Wenn du nichts findest und es klappt weiterhin nicht,
lad doch mal eine Mappe mit den beiden Blättern und dem Makro hoch.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: MkDir legt keine Verzeichnisse an
05.02.2007 09:35:10
haw
Hallo Thomas,
nimm nicht dir, das kann immer nur einen Ordner erstellen, sondern:
Option Explicit
Declare

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

Sub Pfad_anlegen()
MakeSureDirectoryPathExists "C:\Dieter\Excel2002\VBA\Funktionen\EigeneFunktionen\"
End Sub

Damit kannst du den ganzen Pfad auf einmal erstellen
Gruß Heinz
Anzeige
AW: MkDir legt keine Verzeichnisse an
05.02.2007 09:45:01
Erich
Hallo Heinz,
das "nur schrittweise" hat Thomas in seinem Code ja berücksichtigt.
Warum der bei Thomas nicht läuft ist m. E. noch unklar.
Deine Lösung ist natürlich geschickter :-)
Grüße von Erich aus Kamp-Lintfort
AW: MkDir legt keine Verzeichnisse an
05.02.2007 10:11:34
Thomas
Erstmal vielen Dank, ich werde das etwas später mal testen, habe gerade voll Stress. Die Klammern hatte ich bis Heute nicht, aber ich dachte vielleicht sei das der Grund warum es nicht klappt.
Sage später auf jedenfall bescheid.
Gruß Thomas
AW: MkDir legt keine Verzeichnisse an
05.02.2007 11:17:39
Thomas
Option Explicit
Declare

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

Sub Pfad_anlegen()
MakeSureDirectoryPathExists "C:\Dieter\Excel2002\VBA\Funktionen\EigeneFunktionen\"
End Sub

Declare

Function muss in einer Zeile stehen oder etwa nicht?
Ich denke mal wenn ich diese Funktion ausführe, bzw Pfad_anlegen() sollte ein Verzeichnisbaum
C:\Dieter\Excel2002\VBA\Funktionen\EigeneFunktionen\ angelegt werden,
aber auch das passiert bei mir und auch auf einem zweiten Rechner nicht.
Kann mir jemand sagen, wo es noch dran liegen könnte?

Anzeige
AW: MkDir legt keine Verzeichnisse an
05.02.2007 11:54:35
Erich
Hallo Thomas,
ja, das muss in einer Zeile stehen.
Schau auch mal in z. B.
https://www.herber.de/forum/archiv/708to712/t708450.htm#708489
Durch die Abfrage von result kannst du feststellen, ob ein Verz. angelegt wurde.
Dass das bei dir nicht geht - könnte es an einer fehlenden Berechtigung liegen?
Brachte MkDir keine Fehlermeldung?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: MkDir legt keine Verzeichnisse an
05.02.2007 13:10:38
Thomas
Ich bin als Administartor auf meinem Rechner angemeldet, Fehlermeldungen bekomme ich keine, dennoch wird nichts angelegt. :-( Gibts in Excel irgendwas, wo die Rechte verstellt sein können?
Anzeige
AW: MkDir legt keine Verzeichnisse an
05.02.2007 13:39:37
Erich
Hallo Thomas,
nicht in Excel, nur in Win, aber da bist du ja als Admin angemeldet...
Lad doch mal eine Beispielmappe hoch, vielleicht ist darin eine Ursache zu finden.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: MkDir legt keine Verzeichnisse an
05.02.2007 14:04:33
Thomas
Beispiel:
https://www.herber.de/bbs/user/40139.zip
Irgendwie kann ich gar nicht mehr speichern, liegt es möglischerweise an lib-Dateien.
Gruß Thomas
AW: ZIP ist leer
05.02.2007 16:12:20
Erich
Hi Thomas,
das File in der zip ist leer (0 Byte), schickst du ein neues?
Noch eine (vielleicht blöde) Frage:
Was sagt das SaveAs, wnachdem ein neues Verzeichnis hätte angelegt werden sollen?
Welchen Fehler gibt es da?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: ZIP ist leer
05.02.2007 17:09:46
Thomas
https://www.herber.de/bbs/user/40145.zip
Sorry, nachdem die Datei als xls etwas zu groß war, habe ich sie als zip gepackt und war wohl etwas zu ungeduldig mit dem hochladen.
ich bekommen einen laufzeitfehler 1004
AW: neues ZIP ist auch leer
05.02.2007 17:16:57
Erich
Hi Thomas,
auch das neue File ist leer. Schau doch nach dem Zippen die Dateigröße nach...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: neues ZIP ist auch leer
05.02.2007 17:32:48
Thomas
https://www.herber.de/bbs/user/40149.zip
Da alle guten Dinge bekanntlich 3 sind, hoffe ich hat es diesmal geklappt.
Anzeige
AW: neues ZIP ist auch leer
05.02.2007 17:42:53
Erich
Hi Thomas,
nach einer kleinen Änderung liefs bei mir durch:
'aus
If Dir(strFolder1, vbDirectory) = "" Then
MsgBox (strFolder1)
MkDir strFolder3
End If
'habe ich
If Dir(strFolder1, vbDirectory) = "" Then
MsgBox (strFolder1)
MkDir strFolder1    ' hier stand strFolder3
End If
'gemacht.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: neues ZIP ist auch leer
05.02.2007 20:16:23
Thomas
Seltsamerweise klappt es bei mir trotzdem nicht, hat noch jemand eine Idee was es sein kann?
AW: neues ZIP ist auch leer
05.02.2007 21:16:09
Erich
Hallo Thomas,
arbeitest du mit Kaspersky Antivirus? Da könnte die Ursache liegen. (Sagt die Recherche im Archiv.)
Schau mal in https://www.herber.de/forum/archiv/716to720/t717251.htm#717279
Noch ein paar Sachen zum Prüfen und Testen:
Wenn du im Code auf MkDir gehst und dann Shift+F2 drückst, solltest du im Objektkatalog
nur einen Treffer in VBA haben, im VBA.FileSystem. (Davon gehe ich aus - der Dir-Befehl funzt ja.)
Kannst du im Explorer das betreffende Verzeichnis problemlos anlegen?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: neues ZIP ist auch leer
06.02.2007 06:26:47
Thomas
WoW, das nenne ich eine Fernanalyse, ich habe zwar noch nicht getestet ob es klappt, aber ja, ich arbeite mit Kaspersky Antivirus. Ja Verzeichnisse anlegen ist kein Problem, also im Explorer von Hand.
Kaspersky Antivirus
06.02.2007 06:31:54
Thomas
Vielen, vielen lieben Dank. Ich glaube ich hätte ewig weiter gesucht. Es lag tatsächlich am Kaspersky Antivirus. Jetzt klappt es problemlos, den Fehler, den Du gefunden hattest, den hatte ich selbst bei der Fehlersuche eingebaut.
Danke für Rückmeldung - freut mich, ...
06.02.2007 06:41:01
Erich
Hi Thomas,
... aber eine Fernanalyse war das wohl nicht, eher ein Schuss ins Blaue.
Ich habe getan, was ich (fast) immer tue, wenn ich für einen Fehler keine Erklärung finde:
Davon ausgehen, dass das Problem vermutlich schon mal auftauchte, und suchen.
Und bei der Suche nach mkdir fehler fand ich mehrere Beiträge, in denen Kaspersky eine Rolle spielte.
Grüße von Erich aus Kamp-Lintfort
Anzeige
Antivirus-Software
06.02.2007 07:07:23
Thomas
Kann ich in meinem VBA-Projekt etwas einstellen, dass der MkDir-Befehl nicht vom Virenscanner geblockt wird, oder besteht nur die Möglichkeit, dann den Pfad von Hand anzulegen oder ggf. den Virenscaner kurzeitig zu deaktivieren?
Noch mal vielen Dank für diese Vorzügliche Antwort.
AW: Antivirus-Software
06.02.2007 07:13:17
haw
Hallo Thomas,
dieses Problem hatte ich auch einmal bei einer Dienststelle.
Es half - neben der Möglichkeit der Deaktivierung des Kaspersky - die Einstellungen des Kaspersky anzupassen, die sehr vielfältig sind.
Wo kann ich dir leider auch nicht sagen, da ich selbst nicht den Kaspersky habe.
Gruß Heinz
Anzeige
AW: Antivirus-Software
06.02.2007 07:48:42
Thomas
Da man ja ungern Sicherheitssoftware deaktiviert, hier die Einstellungen für den Kaspersky Antivirus.
Einstellungen-Echtzeitschutz-Makros-Anlegen von Ordnern
Dort muss dann von (Makrobefehl unterdrücken) auf (Nach Aktion Fragen) oder (Makrobefehl zulassen) umgestellt werden.
Vielen Dank für Eure Mithilfe.
Euch einen schönen Tag.
lg Thomas
AW: MkDir legt keine Verzeichnisse an
05.02.2007 13:43:53
Thomas
Ich bin mir sehr sicher, dass das alles mal geklappt hat, die Exceldatei liegt auf einem anderen Laufwerk wie der Speicherpfad, aber das dürfte eigentlich kein Problem sein.
AW: MkDir legt keine Verzeichnisse an
05.02.2007 13:49:16
haw
Hallo Thomas,
sorry, ich habe es einfach rauskopiert ohne darauf zu achten, wie es hier aussieht
So muss es sein: (Declare Function .... in einer Zeile)
Declare Function MakeSureDirectoryPathExists ....
Gruß Heinz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige