Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1236to1240
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

Daten mit xcopy sichern/kopieren

Daten mit xcopy sichern/kopieren
lutz
Hallo Excel Profis,
ich habe mal eine Frage zu Xcopy aus Excel heraus.
Ich würde gerne dateien die unter D:\liegen automatisiert in andere Verzeichnisse verschieben.
Dazu würde ich gerne in Zelle A2 den Quellort der Datei schreiben (Laufwerk + Verzeichnis) und in B2 die Dateibezeichnung wie *.*
In Zelle C2 sollte dann der Zielort kommen.
Das ganze möglichst per Schleife über alle Zellen A2 bis A? solange etwas in A steht.
Geht das?
Vielen Dank und viele Grüße Lutz
AW: Daten mit xcopy sichern/kopieren
06.11.2011 16:03:01
IngGi
Hallo Lutz,
ungeprüft:

Sub Sichern()
Dim rng As Range
For Each rng In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
Application.Run "xcopy " & rng & rng.Offset(0, 1) & " " & rng.Offset(0, 2), 0, True
Next 'rng
End Sub
Gruß Ingolf
AW: Daten mit xcopy sichern/kopieren
06.11.2011 16:50:07
lutz
Hallo Ingolf,
tausend Dank, klappt fast.
Bei Application.Run jammert er, dass er das Makro nicht finden kann. Ich habe das mal so geändert:
Sub Sichern2()
Dim rng As Range
For Each rng In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
Shell ("xcopy " & rng & rng.Offset(0, 1) & " " & rng.Offset(0, 2))
Next 'rng
End Sub

Da habe ich aber 2 Probleme:
1. wenn die Datei schon da ist fragt er dann ob er überspeichern soll - kann man da autom. ja sagen?
2. die Datei sollte nach dem übertragen gelöscht werden sonst ist sie doppelt vorhanden
Kennst Du Dich da aus?
Vielen Dank schon einmal und viele Grüße Lutz
Anzeige
AW: Daten mit xcopy sichern/kopieren
06.11.2011 18:35:24
IngGi
Hallo Lutz,
move verschiebt die Datei(en), statt sie zu kopieren und der Parameter /Y unterdrückt die Abfrage zum Überschreiben. Bereits vorhandene Dateien werden dann allerdings unwiderruflich überschrieben, du musst also wissen, was du tust:

Sub Sichern2()
Dim rng As Range
For Each rng In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
Shell ("move /Y " & rng & rng.Offset(0, 1) & " " & rng.Offset(0, 2))
Next 'rng
End Sub
Gruß Ingolf
AW: Daten mit xcopy sichern/kopieren
06.11.2011 16:10:14
Josef

Hallo Lutz,
ein einfaches Beispiel.
https://www.herber.de/bbs/user/77379.xls

« Gruß Sepp »

Anzeige
warum sagst du dann kopieren, wenn du ...
06.11.2011 17:15:16
Josef

... verschieben meinst?
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub prcCopyFiles()
  Dim objFSO As Object, objFile As Object, objFolder As Object
  Dim rng As Range
  Dim strSrcPath As String, strDestPath As String, strExt As String
  
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  
  With Sheets("Tabelle1")
    For Each rng In .Range("A2:A" & Application.Max(2, .Cells(.Rows.Count, 1).End(xlUp).Row))
      strSrcPath = rng.Text
      strDestPath = rng.Offset(0, 1).Text
      strSrcPath = IIf(Right(strSrcPath, 1) = "\", strSrcPath, strSrcPath & "\")
      strDestPath = IIf(Right(strDestPath, 1) = "\", strDestPath, strDestPath & "\")
      strExt = rng.Offset(0, 2).Text
      If strSrcPath <> "" And strDestPath <> "" And strExt <> "" Then
        If Dir(strSrcPath, vbDirectory) <> "" Then
          If Dir(strDestPath, vbDirectory) <> "" Then
            objFSO.MoveFile strSrcPath & strExt, strDestPath
          End If
        End If
      End If
    Next
  End With
  
End Sub



« Gruß Sepp »

Anzeige
AW: warum sagst du dann kopieren, wenn du ...
06.11.2011 18:02:16
lutz
Hallo Sepp,
stimmt aber ich wollte/brauche ohnehin beides...
Dein Code schmiert irgendwie ab, bekomme aber nicht raus warum?
https://www.herber.de/bbs/user/77382.xls
Die Datei heißt einfach "Test.xls" auf D:\
Das Zielverzeichnis ist D:\A-PDF
Viele Grüße Lutz
AW: warum sagst du dann kopieren, wenn du ...
06.11.2011 18:14:17
Josef

Hallo Lutz,
du musst dich schon an mein Beispiel halten!
Spalte A = Quellordner, B = Zielordner und C = Datei, sonst musst du halt den Code entsprechend umstellen!

« Gruß Sepp »

Anzeige
AW: warum sagst du dann kopieren, wenn du ...
06.11.2011 18:29:59
lutz
Hallo,
Sepp, sorry hab die Beispeildatei zu spät gesehen (die Mail kam jetzt erst).
Er kopiert zwar aber die Daten stehen trotzdem noch im Quellverzeichnis...
Viele Grüße Lutz
https://www.herber.de/bbs/user/77383.xls
AW: warum sagst du dann kopieren, wenn du ...
06.11.2011 19:15:20
Josef

Hallo Lutz,
in der Beispieldatei steht ja auch der Code zum kopieren, zum verschieben musst du den Code von hier nehmen.

« Gruß Sepp »

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige