Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

CreateObject("Scripting.FileSystemObject")

Begonnen von Mykis, Dezember 30, 2012, 18:54:33

⏪ vorheriges - nächstes ⏩

Mykis

Nochmal zum Thema
CreateObject("Scripting.FileSystemObject")

Ich möchte folgenden Ordner mit Unterordner "C:\Mykis\Fungi" erstellen, um später Dateien in diesen Ordner zu kopieren:

    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    FSO.CreateFolder ("C:\Mykis\Fungi")
    Set FSO = Nothing

Es kommt aber die Meldung "Pfad nicht gefunden". Irgend was mache ich falsch!

Beste Grüße
Frank

bahasu

Hi,

1.
gibt es den übergeordneten Ordner "MyKis" bereits?
Wenn nein hilft es vielleicht, erst den anzulegen und dann den Unterordner.

2. Ansonsten probier mal den Befehl: MkDir

siehe Hilfe:
MkDir-Anweisung (Beispiel)
In diesem Beispiel wird die MkDir-Anweisung verwendet, um ein Verzeichnis oder einen Ordner zu erstellen. Wird kein Laufwerk angegeben, so wird das neue Verzeichnis bzw. der neue Ordner auf dem aktuellen Laufwerk erstellt.

MkDir "VERZ1"    ' Verzeichnis/Ordner neu erstellen.


Harald
Servus

Mykis

Hi Harald,

das funktioniert erstmal. Scheint einfach, aber als Anfänger...

Was muß ich an den Befehl MKDir "C:\Mykis" noch anhängen, damit er bei einen eventuellen zweiten Aufruf keine Fehlermeldung bringt, dass der Ordner schon da ist.

Frank

DF6GL

Hallo,


prüfe VOR dem Aufruf (mit DIR() z. B.)  , ob es das/die Verzeichnis(se) schon gibt oder nicht...

Mykis

 Vielen Dank ihr Beiden,

meine Vorbereitung zur Datensicherung sieht jetzt so aus und funktioniert!

If Dir(laufwerk & "\" & NameArchivRoot & "\" & NameArchivVerz & "\" & publ_ArtgruppeSysName & "\*.*") = "" Then

MkDir laufwerk & "\" & NameArchivRoot
MkDir laufwerk & "\" & NameArchivRoot & "\" & NameArchivVerz
MkDir laufwerk & "\" & NameArchivRoot & "\" & NameArchivVerz & "\" & publ_ArtgruppeSysName

End If


Guten Rutsch
Frank

bahasu

Hi,

ist auszuschließen, dass es den untersten Ordner noch NICHT gibt, dass es aber die beiden darüber liegenden Ordner gibt?
Ansonsten würde ich die Dir-Prüfung bei jedem Ordner machen.

Harald
Servus

Mykis

Danke für diesen Hinweis.
Ist zwar unwahrscheinlich, aber ich werde es noch einbauen.

Frank

ebs17

If Dir(laufwerk & "\" & NameArchivRoot & "\" & NameArchivVerz & "\" & publ_ArtgruppeSysName & "\*.*") = "" Then
Das ist eine Prüfung auf Dateien (mindestens eine), die in dem dritten Unterordner liegen. Wenn diese Prüfung True ergibt, heißt das, die Ordner sind vorhanden (sonst Fehler!), aber es liegen keine Dateien drin.

Eine Prüfung auf ein Verzeichnis würde etwa so aussehen:
If Dir(Verzeichnispfad, vbDirectory) = vbNullstring Then
   MakeSureDirectoryPathExists Verzeichnispfad
End If

Siehe dazu MakeSureDirectoryPathExists

MfGA
ebs
Mit freundlichem Glück Auf!

Eberhard

Mykis

Hallo ebs,

diese Prüfung auf ein Verzeichnis ist natürlich komfortabler, berücksichtigt auch einzelne fehlende Ordner und überschreibt auch alte Daten, was für mich wichtig ist.

Vielen Dank und guten Rutsch
Frank