Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
704to708
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
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

aktive Datei löschen

aktive Datei löschen
12.12.2005 16:56:34
Jakob
Hallo liebe Excelgemeinde,
ich habe ein Makro geschrieben, mit dem die aktuelle Datei kopiert, unter C:\Temp unter einen anderen Namen gespeichert und als Email-Anhang verschickt wird. Am Ende würde ich gerne diese neue Datei wieder löschen. Da der Dateiname variabel ist (Er setzt sich aus der Eingabe in bestimmte Felder des Tabellenblattes zusammen). habe ich mir mit Application.ActiveWorkbook.FullName versucht weiterzuhelfen und folgenden Makro geschrieben. Aber es klappt nicht. Wenn ich den Dateinamen mit kompletten Pfad eingebe, dann klappt es. Was ist falsch am Makro?

Sub Datei_löschen ()
Dim strFullName As String
strFullName = Application.ActiveWorkbook.FullName
Kill strFullName
End Sub

Besten Dank für Eure Hilfe.
Gruß
J.Freitag

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

Betreff
Datum
Anwender
Anzeige
AW: aktive Datei löschen
12.12.2005 17:17:19
Reinhard
Hi Jakob,
...klappt nicht... ist nicht sehr informativ.
Poste bitte auch den anderen relevanten Code.
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen
AW: aktive Datei löschen
13.12.2005 09:18:59
Jakob
Hallo Reinhard
ich bekomme die Fehlermeldung:
Laufzeitfehler 53
Datei nicht gefunden
Welcher Teil des Codes relevant läßt sich für mich als Laien schwer beurteilen, deshalb poste ich den gesamten Code:

Sub Email()
Dim Nachricht As Object, OutApp As Object
Dim SavePath As String
Dim AWS As String
Dim strFullName As String 'Dateiname der aktiven Arbeitsmappe ermitteln, inkl. Pfadangabe
SavePath = "C:\TEMP"
Application.DisplayAlerts = False 'Makroausführung nicht durch Sicherheitsabfragen unterbrechen
Application.ScreenUpdating = False 'Makoausführung verbergen
Set OutApp = CreateObject("Outlook.Application")
Range("E4:L23").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("E3").Select
'Kopiert aktuelles Sheet in eine neue Mappe
'welche nur diese Tabelle enthält
ActiveSheet.Copy
'Speichert die Datei unter dem Tabellennamen und dem Namen in F7
ActiveWorkbook.SaveAs SavePath & "\" & ActiveSheet.Name & " " & ActiveSheet.Range("F7") & ".xls"
'Aktive Arbeitsmappe wird als mail gesendet
AWS = ActiveWorkbook.FullName
'InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = ""
'.CC = ";"
.BCC = ""
.Subject = "Auftragsabstimmung " & ActiveSheet.Range("F7") & " in " & ActiveSheet.Range("F11")
.Attachments.Add AWS
'Lesebestätigung ein/aus
.ReadReceiptRequested = True
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
'Hier könnte die Datei wieder gelöscht werden
strFullName = Application.ActiveWorkbook.FullName
Kill strFullName
'Formular (inizierende) Arbeitsmappe schließen
Workbooks("Auftragsabstimmung.xls").Close SaveChanges:=False
End With
End Sub

Gruß
J.Freitag
Anzeige
AW: aktive Datei löschen
13.12.2005 12:24:39
Reinhard
Hi Jakob,
wenn du beim Fehler auf Debuggen klickst, in welcher Zeile steht der Debugger, ich habe jetzt den Code nicht gecheckt.
Zum Löschen der datei. Wie wärs mit Verschieben in einen Löschordner.
strFullName = Application.ActiveWorkbook.FullName
close
open "C:\temp\loesch.bat" for output as #1
print #1, "move " & strFullName & " c:\Loesch"
close
shell("C:\temp\loesch.bat")
Anstatt move kannst du auch del nehmen zum Löschen, aber dann ist sie wech.
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen
AW: aktive Datei löschen
13.12.2005 16:04:15
Jakob
Hallo Reinhard,
Der Debugger steht in der Zeile "Kill strFullName"
Kannst Du mir kurz die Funktion Deines Codes oben erklären? Soll etwa die über Application.ActiveWorkbook.FullName ermittelte Datei in das Verzeichnis C:\Loesch verschoben werden? Muß ich dafür dieses Verzeichnis erstellen? Bei mir wird weder die Datei geschlossen noch verschoben.
Gruß
J.Freitag
Anzeige
AW: aktive Datei löschen
13.12.2005 17:07:41
Reinhard
Hi Jakob,
Option Explicit

Sub tt()
Dim strFullName
Workbooks.Open "c:\download\29070.xls"
strFullName = Application.ActiveWorkbook.FullName
ActiveWorkbook.Close
Close
Open "C:\temp\loesch.bat" For Output As #1
Print #1, "move " & strFullName & " c:\Loesch\29070.xls"
Close
Shell ("C:\temp\loesch.bat")
End Sub

Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen
AW: aktive Datei löschen
12.12.2005 17:46:32
Hajo_Zi
Hallo Jakob,
sei mit dem Code vorsichtig. Es wid die geöffnete Datei gelöscht. Nicht in den Papierkorb verschoben.

Sub zMloesche()
'   von Jürgen Wenzel
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End Sub
Sub zMloesche_ver()
'   angepast, damit nicht zwischen This und Active gewechselt wird
'   vom Melanie Breden
With ThisWorkbook
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
End Sub



Anzeige
AW: aktive Datei löschen
13.12.2005 09:30:56
Jakob
Hallo Hajo,
vielen Dank für Deine Hilfe. Aber das ist mir zu heikel die geöffnete Datei löschen. Wenn ich einen Fehler mache ist womöglich eine wichtige Datei weg.
Wieso bekomme ich mit der Funktion "Application.ActiveWorkbook.FullName" den Dateinamen inklusive den Pfad der aktiv geöffneten Datei angezeigt, aber beim Löschen wird dieser nicht erkannt? Wenn ich den Dateinamen manuell eingebe {Kill ("C:\Temp\xxxx.xls")} dann klappt es.
Gibt es keine Möglichkeit die Datei zu löschen unter der Ermittlung des Dateinamen und des Pfades der Datei?
Vielen Dank für Deine Hilfe.
Gruß
J.Freitag
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige