Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ordner erstellen / VB

Empfohlene Antworten

Veröffentlicht

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?

So:

Dim vFSO As New FileSystemObject


vFSO.CreateFolder ("C:\TEST")

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...

Ö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

Set fs = CreateObject("Scripting.FileSystemObject")

fs.CreateFolder ("C:\TEST")

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 ;) )

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:\..."

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

Ü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.

Versuch es doch mal mit APPEND anstatt mit OUTPUT

Hmmm, ich habs mal mit einem Leerzeichen nweniger versucht, denn wenn man den richtigen Pfad angibt, dann klappts auch mit dem Nachbarn... :rolleyes::D

Trotzdem danke, ich hau mir jetzt mal den Kopf an die Wand... :floet:

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.