Microsoft Excel

Herbers Excel/VBA-Archiv

externe Dateien löschen !!!

Betrifft: externe Dateien löschen !!! von: Martin S.
Geschrieben am: 12.08.2004 10:34:52

Hallöchen!

Ich hab mal ne Frage. Kann man mit Excel externe Dateien löschen oder makieren?

Ich hab eine Tabelle mit ArtNr und dazu gehöriger Bildnummer.
Wie schon gesagt handelt es sich in diesem Beispiel um bilder die gelöscht oder makiert werden sollen.

Ich hab in einem Ordner über 1000 Bilder aber ca. nur 100 werden gebraucht.
Die die gebaucht werden stehen in der ober erwehnten Tabelle.

Kann man soetwas machen das man die gebrauchten alle makiert oder die nicht gebrauchten löscht???

Ich glaube das geht nicht, aber ne Frage ist es ja wert!

MFG
Martin S.

  


Betrifft: AW: externe Dateien löschen !!! von: EtoPHG
Geschrieben am: 12.08.2004 10:45:18


"Ich glaube das geht nicht..."

Mit VBA geht (fast) alles!!
Wenn der Dateiname aus dem Inhalt der Tabelle abgeleitet werden kann, dann ist sowas ohne weiteres möglich.

Gruss Hansueli


  


Betrifft: AW: externe Dateien löschen !!! von: Martin S.
Geschrieben am: 12.08.2004 11:01:49

Hallo!

ehrlich!?!

Ja der Dateiname (Name des Bildes) ist in der Tabelle unter BildNr eingetragen.
Kannst du mir einen solchen Code schreiben?
Ich währe dir sehr dankbar dafür!

MFG
Martin S.


  


Betrifft: AW: externe Dateien löschen !!! von: Uduuh
Geschrieben am: 12.08.2004 11:56:48

Hallo,
dieser Code tut's. ACHTUNG!:Brandgefährlich. Es erfolgt keine Rückfrage. Es wird sofort gelöscht, nicht in den Papierkorb geschoben.
Diesen Code in ein Modul kopieren:
Sub Bilder_loeschen()
'Die Bildnamen müssen in einer Tabelle mit Namen "Bilder" in Spalte A stehen.
'Bildnamen ohne Pfadangabe, z.B. Test.jpg _
  Wenn die Bildnamen mit komplettem Pfad angegeben sind, einfach die Zuweisung _
  der Variablen strName ändern: strName=.FoundFiles(i)
'Diese Datei muss im gleichen Ordner wie die Bilder stehen.
'Unterordner werden nicht durchsucht.
Dim wshBilder As Worksheet, _
    strOrdner As String, _
    strName As String, _
    FS As FileSearch, _
    i As Integer, _
    n As Integer, _
    bolGebraucht As Boolean
  Application.ScreenUpdating = False

  Set wshBilder = Worksheets("Bilder") 'Tabelle mit Bildnamen
  strOrdner = ThisWorkbook.Path
    
  Set FS = Application.FileSearch
  
  'Dateien suchen
  With FS
    .LookIn = strOrdner
    .Filename = "*.jpg" 'Dateityp jpg
    .SearchSubFolders = False 'keine Unterordner durchsuchen
    
    If .Execute > 0 Then
      For i = 1 To .FoundFiles.Count
      bolGebraucht = False
      strName = Right(.FoundFiles(i), Len(.FoundFiles(i)) - Len(strOrdner) - 1)
        'gefundene Datei mit Liste vergleichen
        For n = 1 To wshBilder.Range("A65536").End(xlUp).Row
          If UCase(wshBilder.Cells(n, 1)) = UCase(strName) Then
          bolGebraucht = True 'Datei steht in Liste
          Exit For
          End If
        Next n
        
        'Wenn Datei nicht in Liste, dann löschen
        If bolGebraucht = False Then
        Kill .FoundFiles(i)
        End If
        
      Next i
    End If
  End With
  Application.ScreenUpdating = True
End Sub

Gruß aus'm Pott
Udo


  


Betrifft: AW: externe Dateien löschen !!! von: Martin S.
Geschrieben am: 12.08.2004 12:37:43

Ich habs gleich ausprobiert!
Klappt bestens!!! Vielen Dank!

MFG
Martin S.


 

Beiträge aus den Excel-Beispielen zum Thema "externe Dateien löschen !!!"