Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien einlesen + Schleifenproblem

Dateien einlesen + Schleifenproblem
31.07.2006 19:29:26
SteffenS
Hallo und guten Abend,
ich habe ein Problem bei dem ich bitte Eure Hilfe brauche.
Ich möchte per Schleife gern Dateien eines Verzeichnisses löschen.
Eigenrlich möchte ich alle Dateien eines Verzeichnisses bis auf die angebenen löschen.
Mein Versuch:
Dim Dateien As String
Dateien = Dir(ThisWorkbook.Path & "\system\*.*")
Do While Dateien ""
If Dateien "XY1_leer.xls" And Dateien "KER07-Anzeigen.xls" And Dateien "MSCAL.OCX" And Dateien "ZZ.xls" And Dateien "zipfldr.dll" Then
Kill ThisWorkbook.Path & "\system\" & Dateien
End If
Loop
Leider läuft die Schleife ewig.
Was muss ich tun damit alle Dateien eines Verzeichnisses bis auf die ausgeschlossenen gelöscht werden?
Danke für Eure Hilfe.
MFG
Steffen

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien einlesen + Schleifenproblem
31.07.2006 19:54:51
Erich
Hallo Steffen,
da fehlte der Dir-Befehl für die weiteren Dateien:
Dim Dateien As String
Dateien = Dir(ThisWorkbook.Path & "\system\*.*")
Do While Dateien <> ""
If Dateien <> "XY1_leer.xls" And Dateien <> "KER07-Anzeigen.xls" _
And Dateien <> "MSCAL.OCX" And Dateien <> "ZZ.xls" And Dateien <> "zipfldr.dll" Then
MsgBox ThisWorkbook.Path & "\system\" & Dateien
Dateien = Dir
End If
Loop
Aus der Hilfe zur Dir-Funktion:
Die Dir-Funktion gibt den ersten Dateinamen zurück, der mit dem Argument Pfadname übereinstimmt.
Weitere mit dem Argument Pfadname übereinstimmende Dateinamen erhalten Sie durch das erneute Aufrufen
der Dir-Funktion ohne Angabe von Argumenten. Wenn keine weiteren übereinstimmenden Dateinamen
gefunden werden, gibt die Dir-Funktion eine Null-Zeichenfolge ("") zurück.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Makro geht nicht
01.08.2006 18:43:32
SteffenS
Hallo Erich,
der Code fuzt nicht so richtig, die Schleife läuft ewig aber es passiert nichts.
Beim Code von Josef werden immer alle Dateien gelöscht.
Was muss ich tun damit Eure Codes funktioniert?
Danke nochmals
Steffen Schmerler
AW: Makro geht nicht
01.08.2006 22:58:36
Erich
Hallo Steffen,
ist dir nicht aufgefallen, dass ich "Kill" durch "MsgBox" ersetzt habe?
(Ich wollte keine meiner Dateien löschen...)
Wichtiger war mir der Hinweis auf die Verwendung des Dir-Befehls.
Wenn du wieder "Kill" anstelle von "MsgBox" verwendest, sollte es funzen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Makro geht nicht
01.08.2006 23:01:40
Erich
Hallo Steffen,
sorry, ich habe das Dir an die falsche Stelle gesetzt. So müsste es gehen:
Dim Dateien As String
Dateien = Dir(ThisWorkbook.Path & "\system\*.*")
Do While Dateien <> ""
If Dateien <> "XY1_leer.xls" And Dateien <> "KER07-Anzeigen.xls" _
And Dateien <> "MSCAL.OCX" And Dateien <> "ZZ.xls" And Dateien <> "zipfldr.dll" Then
Kill ThisWorkbook.Path & "\system\" & Dateien
End If
Dateien = Dir
Loop

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Makro geht nicht
01.08.2006 23:02:24
Josef
Hallo Steffen!
Klar, mein Fehler.
So geht's.
Sub Loeschen()
Dim objFS As FileSearch
Dim strPath As String, strFile As String
Dim intIndex As Integer

strPath = ThisWorkbook.Path & "\system"

Set objFS = Application.FileSearch

With objFS
  .NewSearch
  .LookIn = strPath
  .FileType = msoFileTypeAllFiles
  .SearchSubFolders = False ' Unterordner durchsuchen
  
  If .Execute > 0 Then
    
    For intIndex = 1 To .FoundFiles.Count
      strFile = .FoundFiles(intIndex)
      Select Case Dir(strFile)
        Case "XY1_leer.xls", "KER07-Anzeigen.xls", "MSCAL.OCX", "ZZ.xls", "zipfldr.dll"
        Case Else
          Kill strFile
      End Select
    Next
    
  End If
  
End With

Set objFS = Nothing

End Sub



Gruß Sepp

Anzeige
AW: Dateien einlesen + Schleifenproblem
31.07.2006 19:55:02
Josef
Hallo Steffen!
Probier's mal so.
Sub Loeschen()
Dim objFS As FileSearch
Dim strPath As String, strFile As String
Dim intIndex As Integer

strPath = ThisWorkbook.Path & "\system"

Set objFS = Application.FileSearch

With objFS
  .NewSearch
  .LookIn = strPath
  .FileType = msoFileTypeAllFiles
  .SearchSubFolders = False ' Unterordner durchsuchen
  
  If .Execute > 0 Then
    
    For intIndex = 1 To .FoundFiles.Count
      strFile = .FoundFiles(intIndex)
      Select Case strFile
        Case "XY1_leer.xls", "KER07-Anzeigen.xls", "MSCAL.OCX", "ZZ.xls", "zipfldr.dll"
        Case Else
          Kill strFile
      End Select
    Next
    
  End If
  
End With

Set objFS = Nothing

End Sub


Gruß Sepp

Anzeige
Danke Euch....
03.08.2006 16:58:47
SteffenS
ging jetzt.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige