Registriert seit: 31.07.2018
Version(en): 2010
11.11.2018, 11:58
(Dieser Beitrag wurde zuletzt bearbeitet: 11.11.2018, 11:59 von Paule.)
Hallo alle zusammen,
mal wieder geht was nicht so wie es gehen sollte.
Bitte um eure Hilfe :100:
Also ich möchte über ein Makro einen Ordner löschen mit Inhalt.
Funktionieren tut das ganze schon, aber ich möchte das der Pfad verkürzt wird.
ThisWorkbook und den zellenwert aus B1
Application.ActiveWorkbook.Path + "\" & Range("B1") das geht nicht!!!
Funktioniernder Code:
Public Sub Löschen()
On Error Resume Next
Dim objFileS As Object
Dim objFileFolder As Object
Set objFileS = CreateObject("Scripting.FileSystemObject")
Set objFileFolder = objFileS.GetFolder("C:\Users\Dell\Desktop\Excel\PDF Abfrage\123456789")
objFileFolder.Delete
Set objFileS = Nothing
Set objFileFolder = Nothing
Gruß Paule
Registriert seit: 15.08.2017
Version(en): 2016
Hallo Paule
Code:
Dim Pfad As String
Pfad = ThisWorkbook.Path & "\" & Range("B1")
Gruss Guschti
Registriert seit: 31.07.2018
Version(en): 2010
Danke für die schnelle Antwort
leider bekomme ich es irdendwie nicht eingebaut.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Paul,
Schreib doch einfach mal Msgbox davor und schau dir an, wie der Pfad aussieht.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• Paule
Registriert seit: 31.07.2018
Version(en): 2010
Hi schauan,
also der pfad stimmt, aber der ordner wird nicht gelöscht!
ist doch zum verrückt werden. :16:
Grüßle
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
hast Du da drin noch eine Datei offen?
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 31.07.2018
Version(en): 2010
Problem Gelöst
So geht es.
Sub Löschen()
On Error Resume Next
Dim Path As String
Dim oFSO As Object
Path = ThisWorkbook.Path & "\" & Range("B1")
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.DeleteFolder (Path)
Set oFSO = Nothing
End Sub
Jetzt noch MsBox rein bei Fehler dann wäfre das super
Grüßle Paul
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Paul,
vielleicht so?
Code:
Sub Löschen()
On Error GoTo Fehler
Dim Path As String
Dim oFSO As Object
Path = ThisWorkbook.Path & "\" & Range("B1")
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.DeleteFolder (Path)
Set oFSO = Nothing
Exit Sub
Fehler:
MsgBox "Es ist der Fehler " & Err.Number & " mit der Bezeichnung " & Err.Description & " aufgetreten."
End Sub
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
11.11.2018, 18:22
(Dieser Beitrag wurde zuletzt bearbeitet: 11.11.2018, 18:22 von RPP63.)
Moin auch von mir!
Es soll ausdrücklich keine "Verbesserung" von Stefans Code darstellen, aber …
Sprungziele und Exit Sub sind eher ungern gesehen.
On Error Resume Next zwar auch, aber bei erwartbaren Fehlern durchaus üblich, wenn man die Fehlerbehandlung wieder auf 0 stellt.
Deshalb nur ergänzend eine Variante, bei der ich gänzlich auf Variablen verzichte, die hier ja eher dem Leseverständnis dienen, aber (da nur einmalig genutzt) ansonsten imho keinen weiteren Nutzen haben:
Sub Del_RPP()
With CreateObject("Scripting.FileSystemObject")
On Error Resume Next
.DeleteFolder ThisWorkbook.Path & "\" & Range("B1")
If Err.Number <> 0 Then MsgBox Err.Number & vbLf & Err.Description
On Error GoTo 0
End With
End Sub
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 12.03.2016
Version(en): Excel 2003
12.11.2018, 01:25
(Dieser Beitrag wurde zuletzt bearbeitet: 12.11.2018, 05:29 von WillWissen.
Bearbeitungsgrund: Formatierung
)
Hallo Kollegen
Zitat:Dim Pfad As String
Pfad = ThisWorkbook.Path & "\" & Range("B1")
fehlt da nicht was??? Ich sehe keine Tabellenangabe. Aus welcher Tabelle wird dann der Wert geholt???
Und wenn eine andere Mappe geöffnet ist, holt er den Wert "B1" aus der falschen Mappe. Ich würde es so schreiben.
Pfad = ThisWorkbook.Path & "\" & ThisWorkbook.Worksheets("xx Name xx").Range("B1")
mfg Gast 123