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; Hallo zusammen, ich habe im Internet bislang leider keine Lösung für folgende Aufgabenstellung gefunden: Ein Windows-(Start-)Ordner kann leere... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von jeepster, 2. August 2018.

  1. Leere Unterordner mit VBA rekursiv löschen


    Hallo zusammen,

    ich habe im Internet bislang leider keine Lösung für folgende Aufgabenstellung gefunden:

    Ein Windows-(Start-)Ordner kann leere Unterordner (ohne Dateien, aber mit weiteren Unterordnern) bis ins x-te Glied enthalten. Ich suche eine Prozedur, die leere Unterordner (also ohne Dateien und weitere Unterordner) von hinten nach vorne (rekursiv) löscht. Nur nicht-leere Ordner sollen übrig bleiben.

    Hat jemand eine Lösung dafür?

    Dank & Gruß, jeepster

    :)
     
    jeepster, 2. August 2018
    #1
  2. Leere Ordner finden
    Das hättest Du sicher auch gefunden, wenn Du gesucht hättest: windows ordner ohne inhalt ermitteln
     
  3. Hallo Eberhard, danke für Deine schnelle Antwort! Ich möchte das aus einer Access-Datenbank heraus veranlassen. Da komme ich mit Deinen Such-Schlagworten leider auch nicht weiter.
    Mit Dank & Gruß, jeepster
     
    jeepster, 4. August 2018
    #3
  4. Leere Unterordner mit VBA rekursiv löschen

    Das rote ist ein Link. Wenn Du dessen Inhalt anschaust, könntest Du vielleicht das lesen:
     
  5. Super, danke! Das scheint in der Tat mein Fall zu sein. Den Link hinter der roten Schrift hatte ich nicht erkannt. Sorry!

    Ich habe nur leider das Problem, dass das mit dem "Schreib dir einfach ein Script..." bei mir schlicht an entsprechenden VBA-Fähigkeiten scheitert. Wie sähe so etwas denn aus?

    Mit Dank & Gruß, jeepster
     
    jeepster, 4. August 2018
    #5
  6. Hallo,

    hab mal kurz dieses VB-Bsp.
    https://www.vb-paradise.de/index.php...-l%C3%B6schen/
    auf das FSO transferiert:
    Code:
     
    Marsu65, 4. August 2018
    #6
  7. Vielen Dank Marsu65! Es müsste in meinem Falle allerdings eine Private Sub sein, da ich die Löschung beim Schließen eines Formulars durchführen möchte. Wie sähe die Prozedur denn dann aus?

    Mit Dank & Gruß, jeepster
     
    jeepster, 4. August 2018
    #7
  8. Leere Unterordner mit VBA rekursiv löschen

    Hallo!
    Dann überschreibst du das Public mit einem Private ... so warm
    ist es doch gar nicht mehr *wink.gif*
     
    Marsu65, 4. August 2018
    #8
  9. Hallo Marsu,
    zur Gesamtproblematik: das Löschen leerer Unterordner soll beim Schliessen eines Formulars (s.u.) erfolgen. Mit meinem bisherigen Code wird ein zuvor generierter Ordner "Prüfidee Nr._xxx" gelöscht, wenn sich keine Datei darin befindet. Wurden unterhalb des generierten Ordners ein oder mehrere Unterordner angelegt, die leer sind, so bleiben diese erhalten. Die möchte ich aber beim Schließen des Formulars löschen. Ansonsten kann "Prüfidee Nr._xxx" nicht gelöscht werden. Wie müsste Dein Code sich einfügen und woran erkennt er den Startordner?


    Private Sub Formular_schließen_Click()
    strPrüfideePfad = "C:....Prüfidee Nr._" & Me.Nummer
    'Prüft zunächst, ob überhaupt ein Ordner Prüfidee Nr._&Me.Nummer vorhanden ist. Wenn nicht, wird das Formular geschlossen.
    'Wenn ein Ordner vorhanden ist, wird geprüft, ob er leer ist. Ist er leer, wird er gelöscht und das Formular geschlossen.
    'Ist er nicht leer, dann nur Formular schließen.
    If Dir(strPrüfideePfad, vbDirectory) = "" Then
    GoTo Schliessen
    End If
    Debug.Print Dir(strPrüfideePfad & "*", vbDirectory)
    Debug.Print Dir
    If Dir = "" Then RmDir strPrüfideePfad
    Schliessen:
    DoCmd.Close
    End Sub

    Mit Dank & Gruß, jeepster
     
    jeepster, 4. August 2018
    #9
  10. Liest und probierst Du eigentlich, was man Dir schreibt?
    In der Prozedur von Marsu übergibst Du den Pfad als Parameter.

    LoescheLeereOrdner(ByVal sPath As String)
     
    fraeser, 4. August 2018
    #10
  11. Ja, klar, das hatte ich natürlich gemacht. Sorry, dass ich es nicht geschrieben habe.
    Für sPath hatte ich "strPrüfideePfad" eingesetzt. Es hat aber nicht funktioniert, deshalb habe ich versucht den Gesamtkontext darzustellen.

    Dank & Gruß, jeepster
     
    jeepster, 4. August 2018
    #11
  12. Die von Marsu gezeigte Routine oder Deine Umsetzung?
    Wer etwas konstruktiv arbeiten würde, würde etwas detaillierter dazu ausführen und nicht nur so einen Allgemeinplatz ausspucken, um dann etwas anderes zu zeigen ohne irgendeine sichtbare Berücksichtigung des Vorschlages.

    Es kann aber auch sein, dass Du noch etwas Zeit benötigst, zwei, drei Gedanken in einen Zusammenhang zu bringen.
     
  13. Leere Unterordner mit VBA rekursiv löschen

    Ich habe im 1. Schritt jetzt erstmal versucht, Marsus Routine einer neuen Befehlsschaltfläche zuzuordnen, um zunächst nur die leeren Ordner zu löschen, ohne das Formular danach zu schließen.

    Der Code-Generator erzeugt dann im VBA-Fenster eine Private Sub mit dem Namen "Private Sub NameBefehlschaltfläche_Click ()". Es fehlt der Klammerinhalt "ByVal sPath As String". Deshalb habe ich in der Zeile darunter "Dim strPrüfideePfad As String" ergänzt und danach Marsus Routine angefügt. Für sPass habe ich jeweils strPrüfideePfad eingesetzt. Der Debugger meldet dann für die Zeile Dim oFSO As FileSystemObject: "Benutzerdefinierter Typ nicht definiert".

    Es stimmt, ich bekomme die Fäden ohne Hilfestellung einfach noch nicht zusammen*confused.gif*
     
    jeepster, 5. August 2018
    #13
  14. Vielleicht hilft das.

    Code:
     
    Beaker s.a., 5. August 2018
    #14
  15. \@Beaker
    Du musst ihm aber noch dazu sagen, daß
    a) Formular_schließen der Name eines Buttons ist
    b) er die Sub LoescheLeereOrdner in den Formularcode kopieren muss.

    *grins
     
    fraeser, 5. August 2018
    #15
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