Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Löschen von Dateien per VBA (wenn diese nicht geöffnet sind)
zurück: Makro immer ausführen wenn Excel aktiviert wird weiter: Hyperlink überprüfen im Excel per Makro Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
MinorityReport
Gast


Verfasst am:
17. März 2008, 13:10
Rufname:

Löschen von Dateien per VBA (wenn diese nicht geöffnet sind) - Löschen von Dateien per VBA (wenn diese nicht geöffnet sind)

Nach oben
       Version: Office 2003

Hallo Leute,

ich habe folgendes Problem:

Ich möchte gerne in einem Verzeichnis alle vorhandenen Dateien löschen, aber nur wenn diese aktuell nicht geöffnet sind.

Ich habe hierzu schon einen entsprechenden Code gefunden, aber funktioniert leider nicht oder ich habe den Code falsch eingebaut.

Code:
Public Sub Test()
    Dim File As File
    Dim FSO As New FileSystemObject
    Dim oFolder As Folder, oFile As File
    Dim backupDir As String
   
    backupDir = "D:\test"
                   
    On Error Resume Next
    'Löschen der Dateien im Back-up-Ordner
    Set oFolder = FSO.GetFolder(backupDir)
    For Each oFile In oFolder.Files
        If Not DateiGeoeffnet(oFile.Path) Then
            oFile.Delete
        End If
    Next oFile
    If err.Number <> 0 Then
        MsgBox "Information: Es konnten nicht alle Dateien im" & Chr(13) & "Back-up-Ordner gelöscht werden!"
        On Error GoTo 0
    End If

End Sub

Private Function DateiGeoeffnet(Dateipfad As String) As Boolean
    On Error Resume Next
    Open Dateipfad For Binary Access Read Lock Read As #1
    Close #1
    If err.Number <> 0 Then
        DateiGeoeffnet = True
        err.Clear
    End If
End Function


Hat jemand von Euch eine Lösung (alternativer Code oder Korrektur meines Versuchs)?

Vielen Dank vorab.

Grüße

Sascha
Gast



Verfasst am:
17. März 2008, 14:05
Rufname:


AW: Löschen von Dateien per VBA (wenn diese nicht geöffnet s - AW: Löschen von Dateien per VBA (wenn diese nicht geöffnet s

Nach oben
       Version: Office 2003

Gelöst!

Ich hatte die Datei mit einer *.txt-Datei getestet und bei diesen kann scheinbar nicht abgefangen, ob die Datei geöffnet ist. Daher wurden die Datein gelöscht, obwohl die Datei im Notepad geöffnet gewesen ist.

Mit Excel-Dateien funktioniert der Code hingegen problemlos.

Anmerkung: Zum Vermeiden eines Öffnens nach der Prüfung, werde ich die wohl eher die Dateien verschieben und bei einer Fehlermeldung wieder zurückschieben.

Grüße

Sascha
Zwickel
Im Profil kannst Du frei den Rang ändern


Verfasst am:
17. März 2008, 14:13
Rufname: Bernd
Wohnort: Zwickau

AW: Löschen von Dateien per VBA (wenn diese nicht geöffnet s - AW: Löschen von Dateien per VBA (wenn diese nicht geöffnet s

Nach oben
       Version: Office 2003

Hi Sascha,
warum so umständlich?
Code:

Sub WegDamit()
Dim backupDir
backupDir = "D:\test"
On Error Resume Next
Kill (backupDir & "\*.*") ' oder "\*.xls" oder......
End Sub


Löscht nicht in den Papierkorb !!!

_________________
Gruß Bernd
verwende Excel 2003
vmr24
Im Profil kannst Du frei den Rang ändern


Verfasst am:
20. Aug 2010, 08:25
Rufname:
Wohnort: Steinfurt


AW: Löschen von Dateien per VBA (wenn diese nicht geöffnet s - AW: Löschen von Dateien per VBA (wenn diese nicht geöffnet s

Nach oben
       Version: Office 2003

Code:
Sub WegDamit()
Dim backupDir
backupDir = "C:\test"
On Error Resume Next
Kill (backupDir & "\gesuchteDatei.xls")
End Sub


Guten Morgen,

kann man dieses Makro erweitern/editieren, sodass komplett C:\ mit sämtlichen Unterordnern nach "gesuchteDatei.xls" durchsucht wird, und alle gefundenen Kopien automatisch gelöscht werden?

Volker

_________________
Gute Excelkenntnisse, jedoch VBA-Anfänger/Kopierer Wink
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Zeilen mit gleichem Inhalt löschen 1 Gast 4171 06. Jan 2006, 15:03
ae Zeilen mit gleichem Inhalt löschen
Keine neuen Beiträge Excel Formeln: Zeilen automatisch löschen wenn sie leer sind 1 Gast 3101 30. Dez 2005, 13:34
Hübi Zeilen automatisch löschen wenn sie leer sind
Keine neuen Beiträge Excel Formeln: Mehrere Zellen mit einem Klick gleichzeitig löschen? 9 Klaus D. 1495 26. Dez 2005, 17:03
Klaus D. Mehrere Zellen mit einem Klick gleichzeitig löschen?
Keine neuen Beiträge Excel Formeln: Bestimmte Zeiche löschen oder in Formel Zeichen ignorieren 2 Gast 3510 20. Dez 2005, 13:35
Gast Bestimmte Zeiche löschen oder in Formel Zeichen ignorieren
Keine neuen Beiträge Excel Formeln: Textbuchstabe in INDIREKT-Funktion per Funktion anpassen 6 Toledo 3643 29. Nov 2005, 18:30
Toledo Textbuchstabe in INDIREKT-Funktion per Funktion anpassen
Keine neuen Beiträge Excel Formeln: Zellinhalte mit zentralem Schalter löschen 8 Moselaner 1027 08. Sep 2005, 08:06
Moselaner Zellinhalte mit zentralem Schalter löschen
Keine neuen Beiträge Excel Formeln: Bei dreifachen Werten Zeilen löschen 14 Kosich 823 01. Sep 2005, 14:23
Kosich Bei dreifachen Werten Zeilen löschen
Keine neuen Beiträge Excel Formeln: Datei mit Verknüpfungen zu gesperrten Dateien? 1 bobi 720 09. Jul 2005, 14:25
fl618 Datei mit Verknüpfungen zu gesperrten Dateien?
Keine neuen Beiträge Excel Formeln: Excel Verknüpfungen löschen 9 Acidcool73 15705 15. Jun 2005, 16:03
Gast Excel Verknüpfungen löschen
Keine neuen Beiträge Excel Formeln: Makro per Button ausführen lassen und if then problem 5 Darwin 3876 09. Mai 2005, 14:57
Darwin Makro per Button ausführen lassen und if then problem
Keine neuen Beiträge Excel Formeln: Leere Zeilen vom Kombinationsfeld löschen 5 sifak 1332 19. Apr 2005, 17:11
Hübi Leere Zeilen vom Kombinationsfeld löschen
Keine neuen Beiträge Excel Formeln: Gibt es eine Formel mit der man Zeilen löschen kann? 5 kara ben nemsi 1956 15. Apr 2005, 10:19
Kuwe Gibt es eine Formel mit der man Zeilen löschen kann?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Access Tabellen