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

Ordner umbennnen - fehler beim zugriff auf pfad/da

Ordner umbennnen - fehler beim zugriff auf pfad/da
07.06.2013 11:20:14
Andy
Hallo zusammen,
mit dem folgenden Script möchte ich gerne Ordnernamen umbenennen. Jedoch bekomme ich bei der Ausführung eine Fehlermeldung "fehler beim zugriff auf pfad/datei".
Die Ordner liegen in einem Unterordner auf dem Desktop.
In A2 steht: C:\Users\Admin\Desktop\Ordnerebene2\Ordner_alt
In B2 steht: C:\Users\Admin\Desktop\Ordnerebene2\Ordner_neu

Sub OrdnernameUmbennen()
'Error Handler.
On Error GoTo Error_Procedure
Mldg = MsgBox("Alter Ordnername incl. Pfad in Spalte A und neuer in Spalte B? Start ab  _
Zeile 2!", _
vbYesNo + vbQuestion, "Ordnernamen ändern")
If Mldg = vbYes Then
'Startbefehl
GoTo Startpunkt
Else
Exit Sub
End If
Startpunkt:
Set objTab = ActiveSheet
'Startzeile festlegen und letzte genutzte Zeile ermitteln.
iErsteZeile = 2
iLetzteZeile = objTab.Cells(Rows.Count, 1).End(xlUp).Row
'Für jede Zeile in der Liste.
For i = iErsteZeile To iLetzteZeile
With objTab
'Ordnernamen einlesen.
Ordnerpfad_alt = .Cells(i, 1)
Ordnerpfad_neu = .Cells(i, 2)
If Ordnerpfad_alt  "" Then
Name Oderpfad_alt As Ordnerpfad_neu
'Rückmeldung in Tabelle.
.Cells(i, 3).Value = "geändert"
.Cells(i, 3).Select
Else
'Rückmeldung in Tabelle.
.Cells(i, 3).Value = "Fehler"
End If
End With
Next i
Exit_Procedure:
Set objTab = Nothing
Exit Sub
Error_Procedure:
MsgBox Err.description
Resume Exit_Procedure
End Sub
Kann mir hier vielleicht jemand weiterhelfen?
Muss evtl. noch ein Verweis gesetzt werden?
Gruß Andy

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner umbennnen - fehler beim zugriff auf pfad/da
07.06.2013 11:56:04
Luschi
Hallo Andy,
um Ordner per Vba umzubenennen, müssen natürlich ein paar Vorraussetzungen erfüllt sein:
- Du mußt als User 'Admin' angemeldet sein (Da Du ja in seiner Benutzeroberfläche wildern willst)
- das umzubennenende Verzeichnis muß existieren (Dir-Befehl)
- der neue Verzeichnisname darf noch nicht als Verzeichnis vorhanden sein
- es darf keine Datei aus dem umzubennenenden Ordner/Unterordner geöffnet sein
siehe : http://www.administrator.de/forum/abfrage-ob-dateien-aus-einem-bestimmten-verzeichnis-ge%C3%B6ffnet-sind-132146.html
- Es dürfen keine ungültigen Zeichen im neuen Verzeichnisnamen stehen wie: \/:*?"|
Erst wenn das alles abgesichert ist, kann der Umbenneungsprozess auch erfolgreich sein.
Ich würde zusätzlich in Spalte 'C' vor dem Umbenennen etwas reinschreiben, damit man gleich sieht, in welcher Zeile bei welchem Ordner der Fehler auftritt.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Ordner umbennnen - fehler beim zugriff auf pfad/da
07.06.2013 12:07:52
fcs
Hallo Andy,
Tippfehler beim Variablennamen "Oderpfad_alt":
Korrektur:
Name Ordnerpfad_alt As Ordnerpfad_neu
Kannst du vermeiden, durch saubere Variablendeklaration und Option Explicit.
Gruß
Franz

Ist der Ordner evtl. freigegeben ?
07.06.2013 14:10:46
NoNet
Hallo Andy,
den gleichen Fehler erhalte ich, wenn ich einen freigegebenen Ordner per VBA umbenennen möchte :
Userbild
Eine aussagekräftigere Fehlermeldung erhält man, wenn man den Ordner manuell im Windows Explorer umbenennen möchte :
Userbild
Salut, NoNet

Anzeige
keine freigegebener Ordner
07.06.2013 14:15:51
Andy
Hallo NoNet,
nein, mein Ordner war nicht freigegeben.
In meiner Fehlerbeschreibung stand auch nichts von Laufzeitfehler; es lag an der fehlerhaften Variablenbezeichnung.
Gruß Andreas

Danke! - Option Explicit
07.06.2013 14:12:12
Andy
Hallo Franz,
danke für den Hinweis auf den Tippfehler.
Jetzt weiß ich auch warum man "Option Explicit" einsetzen sollten :-)
Danke auch an Luschi für die allgemeinen Hinweise.
Gruß Andy

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige