Clever-Excel-Forum

Normale Version: Ordner mit Makro löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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
Hallo Paule

Code:
Dim Pfad As String
Pfad = ThisWorkbook.Path & "\" & Range("B1")
Gruss Guschti
Danke für die schnelle Antwort

leider bekomme ich es irdendwie nicht eingebaut.
Hallo Paul,
Schreib doch einfach mal Msgbox davor und schau dir an, wie der Pfad aussieht.
Hi schauan,

also der pfad stimmt, aber der ordner wird nicht gelöscht!
ist doch zum verrückt werden. :16:

Grüßle
Hallöchen,

hast Du da drin noch eine Datei offen?
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
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
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
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
Seiten: 1 2