Vielen Dank für den etwas anderen Ansatz, da ich so einfach
wie möglich bleiben möchte und 100%ig wissen will was da
läuft… werde ich die Sache mit denn DLL’s auslassen.
Hallo Snetto,
für die „Benutzung“ ist es doch Banane ob du nun schreibst:
Makepath …
oder
MkDir …
Die Vorteile von MakePath hat dir ja Thomas genannt und auch einen Ansatz codiert.
Was weißt du von MkDir mehr als von MakePath?
MkDir ruft die in Excel eingebaute Funktion MkDir auf die irgendwo in Excel auch in einer dll o.ä. steht.
Makepath ruft die API-Funktion Makepath (oder MakeSureDirectoryPathExists) auf, die in imagehlp.dll enthalten ist.
Wo issen da der Unterschied?
Wenn dich das Declare in dem Modul stört, kein Problem, leg dir ein Modul an, nenne es mdlDeklarationen o.ä. und schreib die da rein, ohne das „Private“.
Dann kannst du in allen Modulen Makepath benutzen, genauso easy wie MkDir.
Angenommen, du brauchst mal eine kurze Wartezeit, dann kannst du in Vba „Wait“ nehmen. Da ist die kleinste einstellbare Wartezeit eine Sekunde.
Nimmst du aber die API Funktion „Sleep“ so ist dort die kleinste zeiteinheit eine Millisekunde und es ist einfacher anzuwenden.
Sleep 5000
wartet 5 Sekunden, m.E. viel einfacher zu handeln als Wait.
Naja, in gewisser Weise hast auch du Recht. Wenn ich GENAU weiß die übergeordneten Ordner existieren nehme ich auch MkDir. Warum auch nicht.
Wenn ich aber z.B. meine Mappe an FremdPcs verschicke mache ich mir doch nicht den Stress bei vielen Ordnern im Pfad die alle durchzuprüfen ob sie existieren. Machbar aber uneffektiv, da nehme ich makePath und fertig.
Da kann dann noch dazwischenfunken daß der Fremduser an seinem PC in dem Ordnerbereich keine Schreiberlaubnis hat, dann hat dir Thomas eine schöne Endlosschleife gebastelt *lächel*
Abhilfe ist möglicherweise Fehlerauswertung oder aber schlicht in die Do Loop Schleife eine Zeitüberwachung einbauen.
Gruß
Reinhard