Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1328to1332
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
Inhaltsverzeichnis

Dateien löschen in Papierkorb

Dateien löschen in Papierkorb
02.09.2013 19:27:27
ing.grohn

Hallo Forum,
ich lösche Dateien mit Excel-VBA mit dem Befehl "KILL".
Funktioniert prächtig!
Nachteil: die Datei landet nicht im Papierkorb!
Hat jemand eine Alternative zum Kill-Befehl mit Papierkorb-Effekt?
Seit bedankt!
Mit freundlichen Grüßen
Albrecht
PS: ich habs auch mit CreateObject("Scripting.FileSystemObject") und dann .Delete versucht, aber landet auch nicht im Papierkorb. is wech

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien löschen in Papierkorb
02.09.2013 22:25:58
Rudi Maintaire
Hallo,
nur als Idee: Datei in den Papierkorb verschieben.
Gruß
Rudi

AW: Dateien löschen in Papierkorb
03.09.2013 19:18:10
ing.grohn
Hallo Nepumuk,
werde den Code ausprobieren und mich dann melden.
Hört sich vielversprechend an.
Vielen Dank und einen schönen Abend
Mit freundlichen Grüßen
Albrecht

AW: Dateien löschen in Papierkorb
03.09.2013 20:11:31
ing.grohn
Hallo Nepumuk,
hat natürlich funktioniert!
Allerdings hab ich noch eine Frage:
So wie ich die API verstanden habe, kann man die Frage "Soll wirklich gelöscht werden" mit FnF_NOCONFIRMATION abschalten:
Aber: wie übergebe oder sage ich das der Routine.
Wäre schön, wenn Du mich ein bischen anschieben würdest.
Mit freundlichen Grüßen
Albrecht

Anzeige
AW: Dateien löschen in Papierkorb
03.09.2013 20:49:21
Nepumk
Hallo,
meinst du so?
Option Explicit

Private Declare Function SHFileOperationA Lib "shell32.dll" ( _
    ByRef lpFileOp As SHFILEOPSTRUCT) As Long

Private Type SHFILEOPSTRUCT
    hWnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAnyOperationsAborted As Long
    hNameMappings As Long
    lpszProgressTitle As String
End Type

Private Const FO_DELETE = &H3&
Private Const FOF_ALLOWUNDO = &H40&
Private Const FOF_NOCONFIRMATION = &H10

Private Sub Move_to_Recycling_Bin(strFilename As String)
    Dim udtFileStructure As SHFILEOPSTRUCT
    With udtFileStructure
        .wFunc = FO_DELETE
        .pFrom = strFilename
        .fFlags = FOF_ALLOWUNDO Or FOF_NOCONFIRMATION
    End With
    Call SHFileOperationA(udtFileStructure)
End Sub

Public Sub Beispiel()
    Call Move_to_Recycling_Bin("C:\test.xls") 'Datei löschen
End Sub

Gruß
Nepumuk

Anzeige
AW: Dateien löschen in Papierkorb
03.09.2013 21:47:02
ing.grohn
Hallo Nepumuk,
vielen Dank es rennt wies soll.
Bitte erkläre mir die Logik der Zeile:
.fFlags = FOF_ALLOWUNDO Or FOF_NOCONFIRMATION
blick ich nicht
Mit freundlichen Grüßen
Albrecht

AW: Dateien löschen in Papierkorb
04.09.2013 09:59:03
Nepumk
Hallo,
die Konstanten sind eigentlich Bitmuster die du vergleichst / setzt.
FOF_ALLOWUNDO = &H40&
Hexadezimal 40 = Binär 1000000
FOF_NOCONFIRMATION = &H10
Hexadezimal 10 = Binär 10000
1000000 Or
0010000
----------
1010000
0 Or 0 = 0
0 Or 1 = 1
1 Or 1 = 1
1001000 ist das Flag welches du setzt. Darum sind fast alle Konstanten eine Zahl 2 hoch n
Schau mal hier: http://www.office-loesung.de/ftopic243650_0_0_asc.php
Gruß
Nepumuk

Anzeige
AW: Dateien löschen in Papierkorb
03.09.2013 19:11:55
ing.grohn
Hallo Rudi,
gute Idee, Nepumuk hat ein Beispiel gegeben.
Mit freundlichen Grüßen
Albrecht

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige