Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
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

Speichern unter und urspr. Verzeichnis löschen

Speichern unter und urspr. Verzeichnis löschen
Lang
Hallo Excelfreunde,
mein Problem:
Nach Öffnen einer Datei soll diese, sofern nicht in "Application.DefaultFilePath" geöffnet, automatisch in diesem Verzeichnis gespeichert werden. Das funktioniert. Danach möchte ich jedoch die urspr. Datei und das entspr. Verzeichnis löschen.
Hierzu erscheint bei "Kill" dann eine Fehlermeldung und die Prozedur wird abgebrochen.
Was muss ich berichtigen?
Vielen Dank vorab!
MfG Klaus
Sub SpUnterMitVerzLoeschen()
Dim wbur As Workbook
Dim zPfad As String
Dim IstPfad As String
Dim Dateiname As String
Set wbur = ActiveWorkbook
zPfad = Application.DefaultFilePath + "\PrfErg"
If Dir(zPfad, vbDirectory) = "" Then MkDir zPfad
Dateiname = zPfad + "PrfErgebnis2009.xls"
IstPfad = wbur.Path
ActiveWorkbook.SaveAs Dateiname
Application.DisplayAlerts = False
wbur.Close SaveChanges:=False ' erforderlich?
Kill IstPfad ' hier kommt Fehlermeldung
RmDir IstPfad
Application.DisplayAlerts = True
End Sub

AW: Speichern unter und urspr. Verzeichnis löschen
02.11.2009 18:05:50
Original
Hi,
IstPfad ist ein Ordner, der kann nicht via Kill gelöscht werden.
mfg Kurt
AW: Speichern unter und urspr. Verzeichnis löschen
02.11.2009 18:14:06
ing.grohn
Hallo Kurt,
enstspricht nicht deiner Syntax, aber geht:
Workbooks.Open Filename:="C:\Eigene Dateien\test\Test.xls"
MkDir "C:\Eigene Dateien\testneu"
ChDir "C:\Eigene Dateien\testneu"
ActiveWorkbook.SaveAs Filename:="C:\Eigene Dateien\testneu\neuerName.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ChDir "C:\Eigene Dateien"
RmDir "C:\Eigene Dateien\test"
Gruß
Albrecht
AW: Speichern unter und urspr. Verzeichnis löschen
02.11.2009 18:58:33
Original
Hi,
weiß nicht, warum du das mir mitteilst, aber einerlei, so gehts nur, wenn der
Ordner "test" leer ist.
mfg Kurt
Anzeige
AW: geht nur mit leerem Ordner: nein
02.11.2009 19:52:06
ing.grohn
Hallo Kurt,
läuft problemlos mit Inhalt im Ordner
MfG
Albrecht
AW: geht nur mit leerem Ordner: nein
02.11.2009 20:12:10
Original
Hi,
lies dir mal die Hilfe zu RmDir durch, wenn du mir schon nicht glaubst.
mfg Kurt
Verzeichnis inkl. Unterordner per FSO löschen
02.11.2009 19:39:31
NoNet
Hallo Klaus,
Du kannst den Ordner zwar nicht per KILL löschen, aber per "FileSystemObject" (FSO).
Hier ein Beispiel (Ordnername bitte anpassen !) :
Sub OrdnerPerFSOLoeschen()
'Löscht Ordner inkl. Dateien und Unterordner !
'Erfordert VBA-Verweis auf "Microsoft Scripting Runtime"
'Bitte zuvor sicherstellen, dass keine Datei im Ordner geöffnet ist !
Dim objFSO As Scripting.FileSystemObject
Dim strOrdner As String
strOrdner = "C:\Temp\Dein Ordner"
Set objFSO = New Scripting.FileSystemObject
If objFSO.FolderExists(strOrdner) Then objFSO.DeleteFolder strOrdner
Set objFSO = Nothing
End Sub
Damit Du FSO verwenden kannst, musst Du zuvor per "Extras - Verweise" im VBA-Editor einen Verweis auf "Microsoft Scripting Runtime" aktivieren !
Gruß, NoNet
Anzeige
AW: Verzeichnis inkl. Unterordner per FSO löschen
02.11.2009 19:46:59
Original
Hi,
"...Damit Du FSO verwenden kannst, musst Du zuvor per "Extras - Verweise" im VBA-Editor einen Verweis auf "Microsoft Scripting Runtime" aktivieren !..."
...oder LateBinding verwenden, dann ist kein Verweis erforderlich!
mfg Kurt
AW: Verzeichnis inkl. Unterordner per FSO löschen
03.11.2009 09:07:46
Lang
Hallo Excelfreunde,
zunächst vielen Dank für die angebotenen Lösungen! ABER Entschuldigung:
Mir ist ein großer Fehler unterlaufen. Es ist nicht das Löschen des Verzeichnisses (wäre ja auch Quatsch), sondern das der urspr. Datei gewünscht. Die Variable "wbur" geht offensichtlich nach ".SaveAs Dateiname" verloren.
Hier die berichtigte aber fehlerhafte Sub:
Sub UrsprDateiLoeschen()
Dim wbur As Workbook
Dim zPfad As String
Dim Dateiname As String
Set wbur = ActiveWorkbook
zPfad = Application.DefaultFilePath + "\PrfErg"
If Dir(zPfad, vbDirectory) = "" Then MkDir zPfad
Dateiname = zPfad + "PrfErgebnis2009.xls"
ActiveWorkbook.SaveAs Dateiname
Application.DisplayAlerts = False
Kill wbur ' hier kommt Fehlermeldung
Application.DisplayAlerts = True
End Sub
P.S.: Für meine Weiterbildung: Wo finde ich "LateBinding" und wie setze ich das ein?
Anzeige
Danke! Hat sich erledigt.
03.11.2009 10:23:18
Lang
o.T.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige