Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datei in den Papierkorb verschieben/löschen?

Forumthread: Datei in den Papierkorb verschieben/löschen?

Datei in den Papierkorb verschieben/löschen?
17.11.2005 13:13:59
Jens
Hallo,
geht es mit Makro, eine Datei statt zu löschen in den Papierkorb zu befördern
und wenn ja, wie?
Habe in der Recherche nichts passendes gefunden.
Grüße Jens
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei in den Papierkorb verschieben/löschen?
17.11.2005 13:24:49
Frank
Hallo Jens,
versuche mal in der folgenden Prozedue die beiden "Löschzeilen" zu testen:
Private Declare

Function DeleteFile Lib "kernel32" _
Alias "DeleteFileA" (ByVal lpFileName As String) As Long

Sub Test()
' Löschzeile 1
Kill "c:\windows\file1.txt"
' Löschzeile 2
Call DeleteFile("c:\windows\file2.txt")
End Sub

Sag mal Bescheid, ob eine davon geholfen hat!
Gruß
Frank.
Anzeige
AW: Datei in den Papierkorb verschieben/löschen?
17.11.2005 13:29:41
Jens
Hallo,
geht so nicht, die kommen nicht im Papierkorb an.
Grüße Jens
AW: Datei in den Papierkorb verschieben/löschen?
17.11.2005 13:36:51
Frank
Hallo Jens,
jetzt habe ich eine Lösung gefunden, testen musst Du sie wieder:
http://www.aboutvb.de/khw/artikel/khwshellkill.htm
Viel Erfolg
Frank.
Anzeige
geschlossen mT
17.11.2005 14:21:27
Jens
Hallo,
danke für den Link, das ist aber mit vielen Fragezeichen zu genießen. Ich habe aber
durch deinen Anregung eine Lösung bei www.vbfun.de gefunden.
Grüße Jens
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Datei in den Papierkorb verschieben und löschen


Schritt-für-Schritt-Anleitung

Um eine Datei in den Papierkorb zu verschieben anstatt sie direkt zu löschen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen > Modul.
  3. Kopiere den folgenden VBA-Code in das Modul:

    Private Declare PtrSafe Function SHFileOperation Lib "shell32.dll" (pFileOp As SHFILEOPSTRUCT) As Long
    
    Private Type SHFILEOPSTRUCT
        hwnd As LongPtr
        wFunc As Long
        pFrom As String
        pTo As String
        fFlags As Integer
        fAnyOperationsAborted As Long
        hNameMappings As LongPtr
        lpszProgressTitle As String
    End Type
    
    Sub MoveToRecycleBin()
        Dim FileOp As SHFILEOPSTRUCT
        FileOp.hwnd = 0
        FileOp.wFunc = &H3 'FO_DELETE
        FileOp.pFrom = "C:\Windows\file1.txt" & vbNullChar
        FileOp.pTo = vbNullChar
        FileOp.fFlags = &H1 'FOF_ALLOWUNDO
        SHFileOperation FileOp
    End Sub
  4. Ändere den Pfad in FileOp.pFrom auf die Datei, die Du in den Papierkorb verschieben möchtest.

  5. Führe das Makro aus: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle MoveToRecycleBin und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Problem: Datei wird nicht in den Papierkorb verschoben.

    • Lösung: Überprüfe den Dateipfad auf Tippfehler und stelle sicher, dass die Datei existiert.
  • Problem: Makro läuft nicht, weil die Sicherheitseinstellungen das Ausführen von Makros blockieren.

    • Lösung: Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die Makros.

Alternative Methoden

Falls Du keine VBA-Lösung verwenden möchtest, kannst Du die Datei auch manuell in den Papierkorb verschieben:

  1. Rechtsklick auf die Datei im Windows Explorer.
  2. Wähle Löschen aus dem Kontextmenü.
  3. Bestätige mit Ja.

Diese Methode ist jedoch nicht so flexibel wie die VBA-Lösung, wenn Du mehrere Dateien verwalten möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du das VBA-Skript anpassen kannst:

  • Beispiel 1: Verschiebe mehrere Dateien:

    FileOp.pFrom = "C:\Windows\file1.txt" & vbNullChar & "C:\Windows\file2.txt" & vbNullChar
  • Beispiel 2: Verwende eine Variable für den Dateipfad:

    Dim filePath As String
    filePath = "C:\Windows\file1.txt"
    FileOp.pFrom = filePath & vbNullChar

Tipps für Profis

  • Verwende die FOF_NOCONFIRMATION-Flag: Wenn Du keine Bestätigungsdialoge möchtest, kannst Du das Flag in den fFlags ändern, z.B. FileOp.fFlags = &H4 für keine Bestätigung.
  • Testen auf einer Kopie: Bevor Du das Makro auf wichtige Dateien anwendest, teste es auf einer Kopie, um sicherzustellen, dass alles wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Frage: Kann ich das Makro für andere Dateien verwenden?
Antwort: Ja, passe einfach den Dateipfad in der FileOp.pFrom Zeile an.

2. Frage: Funktioniert das auch auf Mac?
Antwort: Diese Methode ist spezifisch für Windows. Auf einem Mac benötigst Du eine andere Methode, um Dateien zu löschen oder in den Papierkorb zu verschieben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige