Veröffentlicht 16. März 200421 j Ich möchte unter Microsoft Visual Basic einen Ordner erstellen. Ich habe das Problem, dass ich nicht weiss, wie ich den Typ und den Ort des zu erstellenden Ordners bestimmen kann. Ich weiss in der Zwsichenzeit wenigstens, wie ich eine Textdatei generiere, das allerdings funktioniert nicht für einen Ordner. Kann mir jemand unter die Arme greifen?
16. März 200421 j Hey, super, darf ich jetzt auch noch vorsichtig fragen, was genau das so bedeutet? Ich hab mich nämlich mit der Hilfe rumgeplagt, aber irgendwie wäre ich da wohl völlig falsch gelegen...
16. März 200421 j Öhm, jetzt hab ich da soch noch ein kleines Problemchen mit...: "Fehler beim Komilieren: Benutzerdefinierter Typ nicht definiert." Markieren tut er folgenden Code: vFSO As New FileSystemObject
16. März 200421 j Original geschrieben von Sven Eichler Öhm, jetzt hab ich da soch noch ein kleines Problemchen mit...: "Fehler beim Komilieren: Benutzerdefinierter Typ nicht definiert." Markieren tut er folgenden Code: vFSO As New FileSystemObject Ahh :floet: Du muss erst die Scripting-Runtime einbinden Project -> References -> Haken bei Microsoft Scripting Runtime Erklaerung: das Filesystemobjekt beinhaltet alle Funktionen das Filesystem betreffend, inkl. Copy, CreateFolder, CreateFile ... nachdem es instanziiert is (DIM vFSO as new FileSystemObject) kann man die Funktionen benutzen ... oder es mit CreateObject machen (siehe rotekugel )
16. März 200421 j OK, das ist ja super - Klappt hervorragend! Jetzt sollte ich nur noch Eines wissen: Wie gebe ich einen Pfad an, wenn der Pfadname eine Variable enthält? Ich poste einfach mal meinen Code, dann ist es vielleicht etwas konkreter: Private Sub CommandButton1_Click() Dim intMsg As String Dim Mandantennummer As String Mandantennummer = InputBox("Bitte geben Sie die Mandantennummer fünfstellig ein:") Set fs = CreateObject("Scripting.FileSystemObject") fs.createfolder ("x:\ " & Mandantennummer & " ") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\01-Januar") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\02-Februar") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\03-März") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\04-April") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\05-Mai") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\06-Juni") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\07-Juli") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\08-August") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\09-September") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\10-Oktober") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\11-November") fs.createfolder ("x:\ " & Mandantennummer & "\Sicherung\12-Dezember") Open "x:\" & Mandantennummer & "\SBS-BER.DT2" For Output As #1 Print #1, "0013424SLK_GmbH_SL" & Mandantennummer & "44" intMsg = MsgBox("Die Datei SBS-BER.DT2 für den Mandanten " & Mandantennummer & " wurde erstellt.") Close #1 End Sub Ich erhalte hier immer die Meldung "Lauffzeitfehler 76: Pfad nicht gefunden" bei "Open "x:\..."
16. März 200421 j du erstellst die datei SBS-BER.DT2 im ordner gar nicht bevor du sie zum reinschreiben öffnest. du erstellst ja nur ordner wenn ich das richtig sehe, also existiert die datei SBS-BER.DT2 natürlich nicht in diesem ordner und daher der fehler
16. März 200421 j Über das "Open..." wird die Datei SBS-BER.DT2 generiert. Gebe ich als Pfad nur X:\ an, dann funktioniert es einwandfrei. Nur wenn ich dann versuche, den Pfad X:\<Mandantennummer>\SBS-BER.DT2 zu erstellen, dann bekomme ich eben diese Fehlermeldung. Das bedeutet, dass das Erstellen und übrigens auch das Hineinschreiben funktioniert, ich muss nur wissen, wie ich eine Variable in einen Pfad eintrage.
18. März 200421 j Hmmm, ich habs mal mit einem Leerzeichen nweniger versucht, denn wenn man den richtigen Pfad angibt, dann klappts auch mit dem Nachbarn... Trotzdem danke, ich hau mir jetzt mal den Kopf an die Wand... :floet:
18. März 200421 j Was spricht eigentlich gegen die MkDir-Funktion? Ganz nebenbei spart man sich das Einbinden der Scripting-Runtime.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.