Office: (Office 2016) Leere Unterordner mit VBA rekursiv löschen

Helfe beim Thema Leere Unterordner mit VBA rekursiv löschen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; und c) Dim oFSO As FileSystemObject: "Benutzerdefinierter Typ nicht definiert". Verweis auf Scripting Runtime setzen oder Late Binding nutzen, steht... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von jeepster, 2. August 2018.

  1. Leere Unterordner mit VBA rekursiv löschen


    und c)
    Verweis auf Scripting Runtime setzen oder Late Binding nutzen, steht im Code auch drin.
     
  2. Oh Gott,
    Punkt c) hatte ich vergessen (Verweis) - trotz Klimaanlage :-)
     
    fraeser, 5. August 2018
    #17
  3. !!!Vielen Dank für Eure geduldige Hilfestellung!!!

    Ich habe den Code von Beaker im Eigenschaftenblatt des Buttons Formular_schließen als Ereignisprozedur hinterlegt. Die 2. schließende Klammer in der If-Anweisung habe ich ergänzt. Das Ganze sieht jetzt so aus:
    Die Sub von Marsu habe ich übernommen und sPath durch strPrüfideePfad ersetzt:
    Das Häkchen Extras->Verweise->Microsoft Scripting Runtime ist gesetzt. Das Formular wird zwar geschlossen und es kommt auch keine Fehlermeldung mehr, aber die leeren Ordner bleiben bestehen.
    Irgendwo ist noch der Wurm drin: *depressed
    Gruß, jeepster
     
    jeepster, 5. August 2018
    #18
  4. Leere Unterordner mit VBA rekursiv löschen

    habe ich vergessen, sorry.
    Hast du den Inhalt von "strPrüfideePfad" mit Debug.Print geprüft?
     
    Beaker s.a., 5. August 2018
    #19
  5. Und zwar bewusst!
    Bitte nicht nur Code blind kopieren, sondern auch versuchen ihn zu verstehen!
    Sonst hast du irgendwann mal ein Format C: im kopierten Code oder es
    werden Ordner gelöscht, die man noch braucht und das Geschrei ist groß.

    Wenn du die beiden Zeilen
    Code:
    verstanden hast und hier erklären kannst, kommst du von selbst auf die Lösung
    oder bekommst weitere Hilfe dazu. Die Kommentare hab ich nicht aus Spaß am
    Tippen hinzugefügt.

    BTW: Code hier im Forum bitte in Code-Tags posten
    Wie's geht, hast du bestimmt schon gelesen
    Bitte vor der Benutzung des Forums lesen - Stand vom 18.09.2014
     
    Marsu65, 5. August 2018
    #20
  6. \@Marsu65,
    ich frage mich immer, warum der rekursive Aufruf nicht mit Objekten geschieht, wenn man schon mit Objekten arbeitet.
    Komischerweise findet man das in sämtlichen Anwendungbeispielen so.

    Code:
    Im Prinzip genau das gleiche, nur das ich nicht jedes mal ein neues FSO erzeuge, was aus meiner Sicht auch überflüssig ist und vermutlich nur Ressourcen verschwendet.
    Aber vielleicht sehe ich das auch falsch.

    Das Konzept lässt sich natürlich bei jeder Art rekursiven Aufruf verwenden, der mit Objekten arbeitet.

    LG M
     
    markusxy, 5. August 2018
    #21
  7. Zu Masus gestrigem Post versuche ich mich mal mit der erbetenen Erklärung:
    Wenn ich den Button Formular_schließen betätigt habe und anschließend den Curser im VBA-Code in die Zeile
    Code:
    setze und dann Strg+G drücke, erscheint im VBA-Direktfenster der Pfad zum letzten von mir erzeugten leeren UnterUnterordner:
    C:/Users/F/Ideenbörse Referat 4.2/Materialsammlung/Prüfidee Nr._6/Unterordner/UnterUnterordner. (Anm.: Ich habe in der Schreibweise "/", da Backslash nicht akzeptiert wird.)
    Bis hier scheint also alles richtig zu sein. Im finalen Schritt müsste nun das 'foo in der Zeile Code:
    ersetzt werden. Ich würde es durch oSubFolder ersetzen. Liege ich da richtig?
    Danke & Gruß, jeepster
     
    jeepster, 5. August 2018
    #22
  8. Leere Unterordner mit VBA rekursiv löschen

    Perfekt! Mit ... Code:
    funktioniert das rekursive Löschen leerer Unterordner nun einwandfrei!

    Vielen Dank für Geduld!
     
    jeepster, 6. August 2018
    #23
  9. Servus jeepster und andere Suchende
    das Ganze mal als kleine Beispiel DB aus den Codevorschlägen und kleinen Zusätzen..
     
    Ohrkester, 6. August 2018
    #24
  10. \@jeepster
    schön, hier auch mal eine steile Lernkurve zu sehen. *Smilie

    @markus
    Liegt wohl daran, dass i.d.R. 'mal eben' eine Sub/Function geschrieben wird,
    welche die geforderte Funktionalität erfüllt. Den Beispielen fehlen meist auch das
    Aufräumen der Objekte und eine Fehlerbehandlung.
    ... ein langer Weg zum perfect coding ... *wink.gif*
     
    Marsu65, 6. August 2018
    #25
  11. Hallo
    @Ohrkester
    Gratuliere:
    habe Dein Code getestet Funktioniert Super *Smilie
     
    Lanz Rudolf, 6. August 2018
    #26
  12. Hallo!

    Eine weitere Variante:
    Zuerst die obersten leeren Ordner ermitteln und anschließend diese löschen.
    Prozedur zum Ermitteln der leeren Ordner kann für die Anzeige und fürs Löschen verwendet werden.

    Prinzip:
    Code:
    mfg
    Josef
     
    Josef P., 7. August 2018
    #27
  13. Leere Unterordner mit VBA rekursiv löschen

    Hallo Ohrkester,
    wie müsste in deinem Beispiel die Zeile
    Code:
    aussehen, wenn ich einen fixen Pfad einsetzen möchte?
    In meinem Falle sollen beim Schließen der Datenbank aus dem Hauptordner "Materialsammlung" mit dem Pfad "R:/Ideenbörse Referat 4.2/Materialsammlung" alle leeren Unterordner gelöscht werden. Im Moment wird mir beim Schließen leider auch der Hauptordner "Materialsammlung" gekillt.
    Danke & Gruß, Hartmut
     
    jeepster, 14. August 2018
    #28
  14. Servus
    Code:
    Wie sieht denn Dein gesamter Löschcode aus?
    Es ist ja viel hier geschrieben worden und ich weiß nicht, welchen VBA-Code Du letztendlich angewendet hast.
     
    Ohrkester, 15. August 2018
    #29
  15. Der Button zum Schließen der DB ist mit folgenden Code verbunden:
    Code:
    Dieser greift auf nachstehenden Code zu:
    Code:
    Ich habe zum Testen mehrere Unterordnerebenen (leer) unterhalb des Hauptordners "Materialsammlung" angelegt. Bei jedem Schließen der DB wird jeweils eine Unterordnerebene rekursiv gelöscht. Zu guter Letzt leider auch der Ordner "Materialsammlung" selber, wenn kein Unterordner mehr enthalten ist.
     
    jeepster, 15. August 2018
    #30
Thema:

Leere Unterordner mit VBA rekursiv löschen

Die Seite wird geladen...
  1. Leere Unterordner mit VBA rekursiv löschen - Similar Threads - Leere Unterordner VBA

  2. leere Zelle in Zeile finden

    in Microsoft Excel Hilfe
    leere Zelle in Zeile finden: Hallo Liebe Excel Profis, ich bin noch recht unbedarft was VBA angeht. Man kopiert und liest und bastelt und versucht alles zu verstehen. Aber irgendwann kommt man nicht weiter. Ich habe eine...
  3. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  4. Unterbericht erzeugt leere Seite

    in Microsoft Access Hilfe
    Unterbericht erzeugt leere Seite: Hallo zusammen, ich habe eine HauptBericht mit drei Unterberichten. Der Hauptbericht enthält den eindeutigen schlüssel mit Adressdaten im Gruppenkopf über den die Ureports verknüpft sein. Nicht...
  5. VBA Variableninhalt nach import aus zwei verschiedenen Dateien verschieden >Leer< und >""<

    in Microsoft Excel Hilfe
    VBA Variableninhalt nach import aus zwei verschiedenen Dateien verschieden >Leer< und >""<: Halle Excel Freaks, nach dem Import in eine Exelmappe aus einer anderen Mappe greife ich auf eine Zelle zu. In beiden Mappen steht in der Zelle nichts Beim Debuggen ist mir aufgefallen:...
  6. Zelle leer anzeigen, wenn Wert in der zelle nach dem Komma nicht 0 ist

    in Microsoft Excel Hilfe
    Zelle leer anzeigen, wenn Wert in der zelle nach dem Komma nicht 0 ist: Hallo zusammen, ich habe da mal wieder ne spezielle Frage. Ich habe eine Arbeitsmappe, in der ein Tabellenblatt die Information beinhaltet, wie gross eine VE ist. In dem anderen Tabellenblatt...
  7. VBA - letzte nicht-leere Spalte

    in Microsoft Excel Hilfe
    VBA - letzte nicht-leere Spalte: Moin, liebe VBA-Spezis, mit Cells(99, Columns.Count).End(xlToLeft).Column bestimme ich die Spaltenzahl der letzten benutzten Zelle in Zeile 99. Soweit, so klar. Nun habe ich aber Formeln in...
  8. Häufigste Wert/Text aus einer Spalte ermitteln ohne leere oder 0

    in Microsoft Excel Hilfe
    Häufigste Wert/Text aus einer Spalte ermitteln ohne leere oder 0: Hallo zusammen, versuche verzweifelt ein Lösung zu finden, wie ich die 0 ignorieren kann bei der Auswertung. Ich möchte die häufigste Wert/Text einer Spalte angezeigt bekommen. Problem sind die 0...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden