Fehler beim kopieren und umbenennen von Ordnern über VBA
#1
Hallo Zusammen,

vielleicht kann mir jemand weiter Helfen:

Über ein Steuerelement soll ein bestehender Ordner kopiert und in Abhängigkeit der Zellen B und C in einer ausgewählten Zeile umbenannt werden, was mit dem bestehenden Code bereits funktioniert, aber:
Ist der Ordner für eine bestimmte Zeile bereits angelegt und ich betätige das Steuerelement aus versehen nochmals, wird der bestehende Ordner nochmals kopiert und der bestehende Ordner dadurch "überschrieben".

Bspw: Zeile 5 Spalte B = 077436, C= Stamm --> Betätigen des Steuerelements kopiert den "Strukturordner" und erstellt den Ordner "077436 Stamm"
         Bei nochmaliger Betätigung des Steuerelements wird der "Strukturordner" nochmals kopiert, umbenannt und Daten aus  "077436 Stamm" damit 
         überschrieben.

Code:
Private Sub CommandButton21_Click()
         
     If Dir(Cells(ActiveCell.Row, 2).Value & " " & Cells(ActiveCell.Row, 3).Value, vbDirectory) = "" Then
        CreateObject("Scripting.FileSystemObject").CopyFolder "C:\Test\Strukturordner", "C:\Test\" & Cells(ActiveCell.Row, 2).Value & " " & Cells(ActiveCell.Row, 3).Value
        MsgBox "Ordner " & Cells(ActiveCell.Row, 2).Value & Cells(ActiveCell.Row, 3).Value & " wurde angelegt"
     Else
         MsgBox "Ordner " & Cells(ActiveCell.Row, 2).Value & Cells(ActiveCell.Row, 3).Value & " ist bereits vorhanden"
     End If
 End Sub


Vielen Dank bereits im voraus!

Grüße,
Cei
Top
#2
Hallo,

fehlt da nicht das Laufwerk?
Gruß Stefan
Win 10 / Office 2016
Top
#3
Hi,

das Laufwerk ist ja mit der C-Festplatte in der 3. Zeile enthalten, oder meinst es muss eine weitere Zuordnung gemacht werden?

 CreateObject("Scripting.FileSystemObject").CopyFolder "C:\Test\Strukturordner", "C:\Test\" & Cells(ActiveCell.Row, 2).Value & " " & Cells(ActiveCell.Row, 3).Value

grün = Ort des "Strukturordners"
blau = Ort des umbenannten Ordners
Top
#4
Hallo,

statt

Code:
If Dir(Cells(ActiveCell.Row, 2).Value & " " & Cells(ActiveCell.Row, 3).Value, vbDirectory) = "" Then

so

Code:
If Dir("C:\Test\" & Cells(ActiveCell.Row, 2).Value & " " & Cells(ActiveCell.Row, 3).Value, vbDirectory) = "" Then
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Ceiteag
Top
#5
Hi,
ja klar, stimmt sonst gleicht der des ja immer mit dem Standardpfad ab und denkt, hey da ist ja nichts.

Cool, danke dir!!!
Top


Gehe zu:


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