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

Forumthread: Workbook löschen

Workbook löschen
12.01.2005 10:52:10
Oliver
Hallo,
ich habe jetzt eine vielleicht etwas kuriose Frage:
Wie kann ich das aktive workbook löschen?
hier mein code:
DateiName = ThisWorkbook.Sheets("Tabelle1").Cells(3, 4)
ActiveWorkbook.SaveAs DateiName, FileFormat:=xlCSV
ActiveWorkbook.SendMail "Emailadresse", "Betreff"
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
ich will jetzt diese gespeicherte csv datei gleich wieder löschen, weil die wurde ja per mail versandt....
Grüße
Oliver
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Workbook löschen
Dr.
Warum dann erst speichern?
Kill 'Name'_____OT
UweD
1
AW: Workbook löschen
ransi
hallo oliver
versuchs mal so:
DateiName = ThisWorkbook.Sheets("Tabelle1").Cells(3, 4)
With ActiveWorkbook
.SaveAs DateiName, FileFormat:=xlCSV
.SendMail "Emailadresse", "Betreff"
.Saved = True
.Close
End With
Kill DateiName
ransi
Anzeige
AW: Workbook löschen
12.01.2005 13:20:30
Oliver
Danke an alle erstmal!
Mit killdateiname klappt es nicht....
ich speichere die datei zuerst zwischen, weil ich eine .csv datei benötige und ich weiß nicht wie ich es bewerkstellige, dass der anhang der mail direkt eine csv datei wird...
Oliver
Kill Pfadname
ransi
Hallo oliver
Wie sieht denn der dateinName in cells(3,4) aus ?
kill erwartet einen Pfad.
versuchs mal so:
DoEvents
DateiName = ThisWorkbook.Sheets("Tabelle1").Cells(3, 4)
With ActiveWorkbook
.SaveAs DateiName, FileFormat:=xlCSV
.SendMail "Emailadresse", "Betreff"
.Saved = True
DateiName=.fullName
.Close
End With
Kill DateiName
ransi
Anzeige
AW: Kill Pfadname
12.01.2005 14:41:34
Oliver
..ach so und wie krieg ich den Pfad der datei raus. die steht halt immer woanders....das excelsheet ist für ein netzwerk gedacht...
AW: Kill Pfadname
ransi
hallo oliver
hast du es mal probiert ?
du hast die datei doch mit
".SaveAs DateiName, FileFormat:=xlCSV" gespeichert.
.SendMail "Emailadresse", "Betreff"
.Saved = True
DateiName=.fullName'hier kriegt die Variable "DateiName" einen neuen Wert. Nämlich den Pfad vom ActiveWorkbook
.Close
End With
Kill DateiName
ransi
Anzeige
AW: Kill Pfadname
13.01.2005 07:31:26
Oliver
Hallo ransi,
also der code klappt irgendwie nicht....:
DateiName=.fullName'hier kriegt die Variable "DateiName" einen neuen Wert. Nämlich den Pfad vom ActiveWorkbook
Oliver
;
Anzeige
Anzeige

Infobox / Tutorial

Aktive Excel-Arbeitsmappe löschen und als CSV speichern


Schritt-für-Schritt-Anleitung

Um eine aktive Excel-Arbeitsmappe zu löschen, nachdem sie als CSV-Datei gespeichert wurde, kannst du den folgenden VBA-Code verwenden:

Dim DateiName As String
DateiName = ThisWorkbook.Sheets("Tabelle1").Cells(3, 4).Value

With ActiveWorkbook
    .SaveAs DateiName, FileFormat:=xlCSV
    .SendMail "Emailadresse", "Betreff"
    .Saved = True
    ' Hier erhält die Variable "DateiName" den vollständigen Pfad
    DateiName = .FullName
    .Close
End With

' Lösche die gespeicherte CSV-Datei
Kill DateiName

Achte darauf, dass die Zelle (3, 4) den vollständigen Pfad und Dateinamen enthält, sonst wird der Kill-Befehl nicht funktionieren.


Häufige Fehler und Lösungen

  1. Fehler: "Datei nicht gefunden" beim Löschen

    • Lösung: Stelle sicher, dass die Zelle, die du für DateiName verwendest, den vollständigen Pfad zur Datei enthält. Nutze .FullName, um den Pfad nach dem Speichern zu erhalten.
  2. Fehler: ActiveWorkbook wird nicht geschlossen

    • Lösung: Überprüfe, ob der ActiveWorkbook tatsächlich die Datei ist, die du speichern und schließen möchtest.

Alternative Methoden

Eine alternative Methode, um die Excel-Arbeitsmappe zu löschen, ist die Verwendung von Excel-Befehlen direkt über das Menü. Du könntest die Datei manuell speichern und dann im Windows Explorer löschen. Dies ist jedoch nicht effizient, wenn du viele Dateien verwalten musst.


Praktische Beispiele

Angenommen, du hast eine Excel-Arbeitsmappe mit einem Arbeitsblatt, in dem die E-Mail-Adresse sowie der Pfad der CSV-Datei gespeichert sind. Der folgende Code könnte in diesem Fall nützlich sein:

Dim DateiName As String
DateiName = ThisWorkbook.Sheets("Tabelle1").Cells(3, 4).Value

' Speichern und versenden
With ActiveWorkbook
    .SaveAs DateiName, FileFormat:=xlCSV
    .SendMail ThisWorkbook.Sheets("Tabelle1").Cells(4, 4).Value, "CSV-Datei"
    .Saved = True
    DateiName = .FullName
    .Close
End With

' Löschen der CSV-Datei
Kill DateiName

Hier wird die E-Mail-Adresse und der Dateiname aus verschiedenen Zellen genommen, was die Handhabung vereinfacht.


Tipps für Profis

  • Speichere regelmäßig deine Arbeiten, um Datenverlust zu vermeiden.
  • Nutze On Error Resume Next, um Fehler beim Löschen der Datei zu ignorieren, falls die Datei nicht existiert.
  • Komplexe Arbeitsmappen können durch das Aufteilen in mehrere CSV-Dateien übersichtlicher gestaltet werden.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Datei korrekt gespeichert wird? Überprüfe den Dateinamen und den Pfad in deiner Excel-Tabelle, bevor du den Speicherbefehl ausführst.

2. Was passiert, wenn ich eine Datei mit demselben Namen lösche? Wenn die Datei bereits existiert und du versuchst, sie mit dem Kill-Befehl zu löschen, wird sie ohne Rückfrage gelöscht. Stelle sicher, dass du keine wichtigen Daten verlierst.

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