Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: FileCopy - Zugriff verweigert

FileCopy - Zugriff verweigert
04.09.2015 10:26:21
Werner
Hallo,
Ich möchte Mappe1.xls mit u.st. Befehl nach D: kopieren. Leider geht das nicht, wenn ich die Datei geöffnet habe (Laufzeitfehler 70 - Zugriff verweigert).
Gibt es doch eine Möglichkeit in geöffnetem Zustand zu kopieren?
FileCopy "C:\Mappe1.xls", "D:\Mappe1.xls"
Für eine Hilfe wäre ich dankbar.
Gruß Werner

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FileCopy - Zugriff verweigert
04.09.2015 11:40:33
Werner
Hallo Matthias,
danke, es war sehr hilfreich.
Gruß Werner
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

FileCopy - Zugriff verweigert in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Datei in Excel VBA zu kopieren, verwende den Befehl FileCopy. Beachte jedoch, dass du beim Kopieren einer geöffneten Datei auf den Laufzeitfehler 70 - Zugriff verweigert stoßen kannst. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Gib folgenden Code ein:

    Sub KopiereDatei()
       On Error GoTo Fehlerbehandlung
       FileCopy "C:\Mappe1.xls", "D:\Mappe1.xls"
       Exit Sub
    Fehlerbehandlung:
       MsgBox "Fehler: " & Err.Description
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus.

Diese Methode führt möglicherweise zu einem Laufzeitfehler 70, wenn die Datei bereits geöffnet ist.


Häufige Fehler und Lösungen

  • Laufzeitfehler 70 - Zugriff verweigert: Dieser Fehler tritt auf, wenn die Datei, die du kopieren möchtest, bereits geöffnet ist. Schließe die Datei oder nutze alternative Methoden, um das Problem zu umgehen.

  • Falscher Dateipfad: Stelle sicher, dass der angegebene Pfad korrekt ist. Ein nicht vorhandener Pfad führt ebenfalls zu Fehlern.


Alternative Methoden

Wenn der Laufzeitfehler 70 auftritt, gibt es verschiedene Alternativen, um Dateien zu kopieren:

  1. Datei schließen: Schließe die Datei, bevor du den FileCopy-Befehl ausführst.

  2. Kopieren mit Excel.Application: Du kannst die Datei auch über Excel selbst kopieren. Hier ein Beispiel:

    Sub KopiereMitExcel()
       Dim xlApp As Object
       Set xlApp = CreateObject("Excel.Application")
       xlApp.Workbooks.Open "C:\Mappe1.xls"
       xlApp.Workbooks(1).SaveCopyAs "D:\Mappe1.xls"
       xlApp.Quit
       Set xlApp = Nothing
    End Sub
  3. Verwendung von Windows-Shell: Du kannst die Datei auch über die Windows-Shell kopieren.

    Sub KopiereMitShell()
       Dim shell As Object
       Set shell = CreateObject("WScript.Shell")
       shell.Run "cmd /c copy C:\Mappe1.xls D:\Mappe1.xls"
       Set shell = Nothing
    End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den FileCopy-Befehl in VBA verwenden kannst:

  • Beispiel 1: Einfacher Kopierbefehl

    FileCopy "C:\Beispiel.xls", "D:\Beispiel_kopie.xls"
  • Beispiel 2: Mit Fehlerbehandlung

    Sub SicheresKopieren()
       On Error Resume Next
       FileCopy "C:\Beispiel.xls", "D:\Beispiel_kopie.xls"
       If Err.Number <> 0 Then
           MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
       End If
       On Error GoTo 0
    End Sub

Tipps für Profis

  • Nutze On Error: Implementiere immer eine Fehlerbehandlung, um Laufzeitfehler zu vermeiden und die Benutzerfreundlichkeit zu erhöhen.

  • Teste in einer sicheren Umgebung: Führe deine Makros in einer Testumgebung aus, um unerwünschte Datenverluste zu vermeiden.

  • Routinen für häufige Aufgaben: Erstelle Routinen für häufige Kopieraufgaben und speichere sie in einem zentralen Modul.


FAQ: Häufige Fragen

1. Warum erhalte ich den Laufzeitfehler 70 bei der Verwendung von FileCopy?
Der Laufzeitfehler 70 tritt auf, wenn du versuchst, eine geöffnete Datei zu kopieren. Schließe die Datei oder nutze alternative Methoden.

2. Gibt es eine Möglichkeit, Dateien während des Betriebs zu kopieren?
Ja, du kannst die Methoden wie SaveCopyAs oder die Windows-Shell nutzen, um Dateien auch während des Betriebs zu kopieren.

3. Welche Excel-Version benötige ich für diese VBA-Befehle?
Die beschriebenen VBA-Befehle sind in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und später.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige