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

Dateien per VBA kopieren / überschreiben

Forumthread: Dateien per VBA kopieren / überschreiben

Dateien per VBA kopieren / überschreiben
09.02.2004 22:42:10
Andrea
Hallo,
ich möchte per VBA Dateien (A.xls und B.xls) eines bestimmten Ordners vom Laufwerk C: zum Laufwerk D: (selber Ordnername) verschieben. Vorhandene gleichnamige Datein sollen ohne Meldung ersetzt werden.
DAnke für die Hilfe.
Andrea
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien per VBA kopieren / überschreiben
09.02.2004 22:49:59
Ramses
Hallo
Haben die Dateien immer den gleichen Namen ?
Liegen Sie immer im gleichen Verzeichnis ?
Müssen sie immer in das gleiche Verzeichnis verschoben werden ?
Gruss Rainer
AW: Dateien per VBA kopieren / überschreiben
09.02.2004 22:58:58
Andrea
Hallo Ramses,
3 mal "ja",
ich möchte ca. 60 Anwendern per Update diese laufend überarbeiteten Datein (es sind eigentlich 10 Datein) immer in ihrer aktuellen Version zur Verfügung stellen.
Die Anwender sollen diese Aktion per Klick auf ihr Update-Button realisieren.
Der Ordner der Anwender ist und bleibt immer der selbe und der Ordner auf dem Server bleibt auch gleich und heißt gleich.
Danke für die Antwort
Andrea
Anzeige
AW: Dateien per VBA kopieren / überschreiben
09.02.2004 23:15:55
Ramses
Hallo
dann sollte das ausreichen

Option Explicit

Sub Move_File()
Dim myFSO As Object
Dim qFolder As String, tFolder As String
Dim qFile As String
qFile = "test.xls"
qFolder = "C:\Test\"
tFolder = "D:\Test\"
'Kill tFolder & qFile
Set myFSO = CreateObject("Scripting.FileSystemObject")
myFSO.movefile qFolder & qFile, tFolder & qFile
'Alternativ kopieren
'myFSO.copyfile qFolder & qFile, tFolder & qFile, True
End Sub


Gruss Rainer
Anzeige
AW: Dateien per VBA kopieren / überschreiben
09.02.2004 23:17:55
Andrea
Hallo Ramses,
Danke - ich werd es gleich ausprobieren.
Gruss Andrea
DANKE - RAMSES - hat geklappt!
09.02.2004 23:24:12
Andrea
DANKE RAMSES - hat geklappt!
Schönen Abend noch
Andrea
Merci :-) Geschlossen o.T.
10.02.2004 00:02:45
Ramses
...
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dateien per VBA kopieren und überschreiben


Schritt-für-Schritt-Anleitung

Um Dateien mithilfe von VBA zu kopieren oder zu verschieben, kannst Du den folgenden VBA-Code verwenden. Dieser Code erlaubt es Dir, eine Datei von einem Ordner in einen anderen zu kopieren und dabei gleichnamige Dateien ohne Nachfrage zu überschreiben.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:
    • Klicke auf Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:
Sub Move_File()
    Dim myFSO As Object
    Dim qFolder As String, tFolder As String
    Dim qFile As String
    qFile = "test.xls" ' Name der Datei, die kopiert werden soll
    qFolder = "C:\Test\" ' Quellordner
    tFolder = "D:\Test\" ' Zielordner

    Set myFSO = CreateObject("Scripting.FileSystemObject")
    myFSO.copyfile qFolder & qFile, tFolder & qFile, True ' Überschreibt die Datei
End Sub
  1. Passe den Code an:
    • Ändere qFile, qFolder, und tFolder entsprechend Deinen Bedürfnissen.
  2. Führe das Makro aus:
    • Drücke F5 oder wähle Ausführen > Sub/UserForm ausführen.

Häufige Fehler und Lösungen

  • Datei nicht gefunden: Stelle sicher, dass der Pfad zu qFolder korrekt ist und die Datei existiert.
  • Zielverzeichnis nicht vorhanden: Überprüfe, ob der tFolder existiert, da der Code keine neuen Ordner erstellt.
  • Zugriffsprobleme: Stelle sicher, dass Du die entsprechenden Berechtigungen für die Ordner hast.

Alternative Methoden

Eine alternative Möglichkeit, Dateien zu kopieren, besteht in der Verwendung der FileCopy-Methode. Hier ist ein Beispiel:

Sub Copy_File_Alternative()
    FileCopy "C:\Test\test.xls", "D:\Test\test.xls"
End Sub

Diese Methode überschreibt jedoch nicht automatisch vorhandene Dateien ohne Nachfrage. Wenn Du dies benötigst, verwende die Scripting.FileSystemObject-Methode, wie oben gezeigt.


Praktische Beispiele

  1. VBA-Datei kopieren und umbenennen:
Sub Copy_and_Rename()
    Dim myFSO As Object
    Dim sourceFile As String, targetFile As String
    sourceFile = "C:\Test\test.xls"
    targetFile = "D:\Test\test_new.xls"

    Set myFSO = CreateObject("Scripting.FileSystemObject")
    myFSO.copyfile sourceFile, targetFile, True
End Sub
  1. Excel VBA-Dateien verschieben:
Sub Move_Excel_File()
    Dim myFSO As Object
    Set myFSO = CreateObject("Scripting.FileSystemObject")
    myFSO.MoveFile "C:\Test\test.xls", "D:\Test\test.xls"
End Sub

Tipps für Profis

  • Verwende die Application.DisplayAlerts = False-Anweisung, um Excel-Warnmeldungen vorübergehend auszublenden, während Du Dateien kopierst oder verschiebst.
  • Nutze On Error Resume Next, um Fehler im Code zu ignorieren, aber sei vorsichtig, da dies auch wichtige Fehler übersehen könnte.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Dateien gleichzeitig kopieren?
Du kannst eine Schleife verwenden, um mehrere Dateien zu kopieren. Beispiel:

Sub Copy_Multiple_Files()
    Dim myFSO As Object
    Dim file As Variant
    Dim filesToCopy As Variant
    filesToCopy = Array("test1.xls", "test2.xls") ' Dateinamen

    Set myFSO = CreateObject("Scripting.FileSystemObject")
    For Each file In filesToCopy
        myFSO.copyfile "C:\Test\" & file, "D:\Test\" & file, True
    Next file
End Sub

2. Kann ich auch von und nach Netzlaufwerken kopieren?
Ja, Du kannst auch von und nach Netzlaufwerken kopieren, solange Du die richtigen Pfade verwendest und Zugriff auf die Netzwerkressourcen hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige