Microsoft Excel

Herbers Excel/VBA-Archiv

Dateien kopieren | Herbers Excel-Forum


Betrifft: Dateien kopieren von: Karsten
Geschrieben am: 14.11.2009 17:15:48

Hallo,

ist es per Makrobefehl möglich den Inhalt eines Ordners in einen anderen zu kopieren?
Veränderte Dateien sollten überschrieben werden, Unveränderte bestehen bleiben und neue hinzugefügt werden.

Danke für eure Hilfe.

Gruß
Karsten

  

Betrifft: AW: Dateien kopieren von: Josef Ehrensberger
Geschrieben am: 14.11.2009 17:27:57

Hallo Karsten,

Sub CopyFolder()
  Dim strSourceFolder As String, strTargetFolder As String
  Dim objFSO As Object
  
  strSourceFolder = "E:\Temp\alt" 'Quellordner
  strTargetFolder = "E:\Temp\neu" 'Zieordner
  
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  
  objFSO.CopyFolder strSourceFolder, strTargetFolder
  
  Set objFSO = Nothing
  
End Sub



Gruß Sepp



  

Betrifft: AW: Dateien kopieren von: Karsten
Geschrieben am: 15.11.2009 10:11:26

Hallo Sepp,

das funktioniert ja prima. Es geht sogar über das Netzwerk zum Laptop. Den nutze ich eben als Dtensicherung.
Gibt es auch ein Befehl für Folgendes:
Dateien bzw. Ordner, die im Quellordner gelöscht wurden, sollen bei Makroablauf im Zielordner ebenfalls gelöscht werden. Also, soetwas wie ein Vergleich der Daten/Ordner.

Geuß
Karsten


  

Betrifft: AW: Dateien kopieren von: Josef Ehrensberger
Geschrieben am: 15.11.2009 10:34:47

Hallo Karsten,

auf die harte Tour würde ich es so machen. (der Zielordner wird einfach gelöscht und neu angelegt)

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub test()
  Dim strSrcFolder As String, strTgtForlder As String
  
  strSrcFolder = "E:\Temp\alt"
  strTgtForlder = "E:\Temp\neu"
  
  CopyFolder strSrcFolder, strTgtForlder, True
  
End Sub

Private Function CopyFolder(ByVal strSourceFolder As String, ByVal strTargetFolder As String, Optional deleteMissing As Boolean = False) As Long
  Dim objFSO As Object
  
  CopyFolder = -1
  
  On Error GoTo ErrExit
  
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  
  If deleteMissing Then objFSO.DeleteFolder (strTargetFolder), True
  
  CopyFolder = objFSO.CopyFolder(strSourceFolder, strTargetFolder)
  
  ErrExit:
  
  Set objFSO = Nothing
  
End Function



Gruß Sepp



  

Betrifft: AW: Dateien kopieren von: Karsten
Geschrieben am: 15.11.2009 11:53:15

Hallo Sepp,

Danke. Ich hab es jetzt nicht probiert. Aber, wenn der Zielordner gelöscht und neu angelegt wird, kann die Datenübertragung, weil es ca.1 GB ist, über eine Stunde dauern. Das wollte ich eben vermeiden.
Desshalb ist mir die hate Tour zu hart. Geht es wirklich nicht anders?

Gruß
Karsten


  

Betrifft: AW: Dateien kopieren von: Josef Ehrensberger
Geschrieben am: 15.11.2009 12:25:45

Hallo Karsten,

möglich ist es schon, aber dafür gibt es doch spezielle Tools. (auch Freeware)

Warum also das Rad neu erfinden.


Gruß Sepp



  

Betrifft: AW: Dateien kopieren von: Karsten
Geschrieben am: 15.11.2009 15:43:55

Hallo Sepp,

ich habe da noch nicht das passende gefunden. Deshalb habe ich es jetzt mit Excel versucht. Kennst du vielleicht irgendein Tool?

Gruß
Karsten


  

Betrifft: AW: Dateien kopieren von: Josef Ehrensberger
Geschrieben am: 15.11.2009 17:12:47

Hallo Karsten,

ich weis ja nicht, was das Programm alles können soll, aber schau zb mal hier. http://www.alwaysync.com/


Gruß Sepp



  

Betrifft: AW: Dateien kopieren von: Karsten
Geschrieben am: 15.11.2009 19:35:45

Hallo Sepp,

danke, ich hatte es bereits gefunden. Es ist das was ich brauche.

Gruß
Karsten


Beiträge aus den Excel-Beispielen zum Thema "Dateien kopieren"