Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Ordner mit Makro löschen
#1
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
Antworten Top
#2
Hallo Paule

Code:
Dim Pfad As String
Pfad = ThisWorkbook.Path & "\" & Range("B1")
Gruss Guschti
Der Künstler lebt auch vom Applaus
Excel Optimaler Zuschnitt von Stangen/Balken - YouTube
Antworten Top
#3
Danke für die schnelle Antwort

leider bekomme ich es irdendwie nicht eingebaut.
Antworten Top
#4
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:
  • Paule
Antworten Top
#5
Hi schauan,

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

Grüßle
Antworten Top
#6
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)
Antworten Top
#7
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
Antworten Top
#8
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
Antworten Top
#9
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)
Antworten Top
#10
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste