Clever-Excel-Forum

Normale Version: Kill Befehl / Zugriff verweigert, obwohl ausgeführt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Grüße an alle Spezialisten

Ich lösche eine Datei im Ordner. Diese Datei wurde zwar vorher angezeigt, aber bevor ich sie lösche, wird die Anzeige aktualisiert und die zu löschende Dateo aus der Anzeige herausgenommen.
Wenn ich die Datei dann mit dem Befehl "Kill" lösche, bekomme ich die Fehlermeldung "Zugfirr verweigert". Das kuriose ist aber, die Datei wird gennoch gelöscht.

Hat jemand eine Idee woran das liegen kann?

Grüße


Code:
Sub DateiInScanordnerLoeschen()

Dim i, a As Integer
Dim scandatei As String
Dim arrtmp() As Variant
   
   a = 0
   scandatei = ActiveWorkbook.Path & dateipfadtmp & datarray(aktivdatei)   'Die zu löschende Datei
   arrtmp = datarray           'Array mit allen Scandateinamen kopieren für weitere Bearbeitung
   maxdatei = maxdatei - 1     'Eine Datei wird entnommen, d.h. weniger Dateien vorhanden
   ReDim datarray(maxdatei)    'Array neu definieren
   'Array kopieren, ausgenommen der gelöschten Datei
   For i = 0 To maxdatei
       If Not i = aktivdatei Then
           datarray(a) = arrtmp(i)
           a = a + 1
       End If
   Next i
   
   'Ansicht im Webbrowserfenster aktualisieren
   Call NeueBuchungAnzeigen("links")
   Kill scandatei
   
End Sub
Code:
'Sich durch die vorliegenden Dateien im Ordner bewegen
Sub NeueBuchungAnzeigen(ByVal richtung As String)

Dim scandatei As String

   'in welche Richtung wird durch die PDF-Dateien gesweept? Rechts oder Links
   Select Case richtung
       Case "rechts"
           If aktivdatei < maxdatei Then
               aktivdatei = aktivdatei + 1
           Else
               aktivdatei = 0
           End If
       Case "links"
           If aktivdatei = 0 Then
               aktivdatei = maxdatei
           Else
               aktivdatei = aktivdatei - 1
           End If
   End Select
   
   'Die neueingestellte Datei anzeigen solange noch Dokumente im Ordner sind. Erst wenn maxdatei <0 ist, befindet sich kein Dokument mehr im Ordner
   If maxdatei >= 0 Then
       scandatei = ActiveWorkbook.Path & dateipfadtmp & datarray(aktivdatei)
   Else
       scandatei = ActiveWorkbook.Path & "\Vorlagen\Logo_Keine_Datei.jpg"
   End If
   GescannteBelege.WebBrowser1.navigate scandatei

End Sub
Hallo,

Zitat:Ich lösche eine Datei im Ordner. Diese Datei wurde zwar vorher angezeigt, aber bevor ich sie lösche, wird die Anzeige aktualisiert und die zu löschende Dateo aus der Anzeige herausgenommen.

Wenn ich die Datei dann mit dem Befehl "Kill" lösche, bekomme ich die Fehlermeldung "Zugfirr verweigert". Das kuriose ist aber, die Datei wird gennoch gelöscht.

also, .... setze Dich mal bequem hin und lies Dir das mal in Ruhe durch.
Meiner Meinung nach schlägst Du Haken, wie ein Hase auf der Flucht.
Versuche mal, da eine klare Linie reinzubringen und uns das Ergebnis
Deiner Überlegungen mitzuteilen.

Was ich aus Deinen Ausführungen entnehme ist, daß Du versuchst, eine
bereits gelöschte Datei noch einmal zu löschen und wunderst Dich, daß
Du eine Fehlermeldung bekommst und Dir der Zugriff auf eine im System
nicht mehr zu findende, weil bereits gelöschte Datei, nicht gestattet wird.

Für mich ist diese Fehlermeldung berechtigt, jedenfalls dann, wenn ich mit
meiner Schlußfolgerung auf Deinen Post richtig liege.
OK. Komisch, daß man hier immer so freundliche Reaktionen bekommt, wenn jemand mal eine etwas ungüstige Formulierung geäußert hat.

Also nochmal:
Ich möchte eine Datei mit dem Befehl "Kill" löschen. Dabei bekomme ich die Fehlermeldung "Zugriff verweigert". Das Programm hängt sich hier auf und man könnte meinen, sie wurde NICHT gelöscht. Aber sie wird trotz der Fehlermeldung gelöscht.
Man sollte wissen, daß ich die Datei vorher in einem Webbrowser einer UserForm angezeigt habe. Vor dem Löschen wurde die Anzeige aus dem Browser aber rausgenommen. D.h. es sollte zum Zeitpunkt des "Kill"-Befehles kein Zugriff mehr vorliegen.

Grüße
Hallo,

das kann duchaus vorkommen, dass Windows oder ein Prozess die Datei nicht freigibt und dann die Datei erstmal als Nicht Löschbar gekennzeichnet ist.
Passiert mir ab und zu auch mit Dateien, auf die Excel zuvor Zugriff hatte, speziell Excel 2010. Was Du dagegen tun kannst, kann ich Dir nicht eindeutig
beantworten, die Holzhammermethode wäre das Verwenden von On Error Resume Next und anschließendem Prüfen, ob die Datei wirklich weg ist.

Gruß
Habe jetzt einfach wie empfohlen die Errormeldung abgeschaltet. Smile