Datei per VBA kopieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Datei per VBA kopieren
von: mr_damoon
Geschrieben am: 22.03.2005 16:39:18
Hallo Excelfreunde.
Hat jemand den VBA-Code um per Commandbutton-Druck eine Datei
aus Ordner C:\A in Ordner C:\B zu kopieren, ohne diese erst zu öffnen
oder umbenennen zu müssen?
Vielen Dank für die Hilfe.

Bild

Betrifft: AW: Datei per VBA kopieren
von: K.Rola
Geschrieben am: 22.03.2005 16:42:21
Hallo,
so z.B.:
Option Explicit
Sub Ordner_kopieren()
Const Quelle As String = "c:\a"
Const Ziel As String = "c:\b"
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder Quelle, Ziel, True
End Sub

Gruß K.Rola

Der Fleiß ist die Wurzel aller Häßlichkeit.

Oscar Wilde


Bild

Betrifft: AW: Datei per VBA kopieren
von: mr_damoon
Geschrieben am: 22.03.2005 16:48:35
Das funktioniert.
Ich habe noch objFSO.CopyFolder ...
in objFSO.CopyFile ...
umbebaut und schon klappt es wie gewünscht..
Danke K.Rola
Bild

Betrifft: AW: Datei per VBA kopieren
von: mr_damoon
Geschrieben am: 22.03.2005 17:25:09
Kann man die Const Strings auch variabel aus den Zellen A1 und A2 holen?
Bild

Betrifft: AW: Datei per VBA kopieren
von: K.Rola
Geschrieben am: 22.03.2005 18:43:29
Hallo,
wenn die Werte aus einer Zelle kommen, muss man schon etwas mehr Aufwand betreiben.
Man muss prüfen, ob in den Zellen keine Zeichen stehen, die in Dateinamen nicht
erlaubt sind und ob die Zelle nicht leer ist.
In welcher Form stehen die Daten in den Zellen, mit Extension z.B.?
Gruß K.Rola
Bild

Betrifft: AW: Datei per VBA kopieren
von: mr_damoon
Geschrieben am: 23.03.2005 08:46:41
In Form von: c:\temp1\test123.xls (wird in der Zelle generiert) als Quelle
sowie c:\tmp1 (wird ebenfalls dynamisch generiert) als Ziel.
Prüfen brauch man da jedoch nichts. Da das eine dynamische
Sache ist wo keiner händisch etwas eingibt. Bestenfalls,
ob im Quellordner eine entsprechende Datei vorhanden ist.
Bild

Betrifft: AW: Datei per VBA kopieren
von: Oberschlumpf
Geschrieben am: 23.03.2005 15:30:01
Hi mr
Versuch es doch mal so:

Sub DateiKopieren()
    Dim lstrQuelle As String, lstrZiel As String, liSuche As Integer, liSlash As Integer
    lstrQuelle = Sheets(BLATTNAME).Range("A1").Value
        For liSuche = 1 To Len(lstrQuelle)
            If Mid(lstrQuelle,liSuche,1) = "\" Then
                liSlash = liSlash + 1
            End If
        Next
    lstrZiel = Right(lstrQuelle,Len(lstrQuelle) - liSlash)
    lstrZiel = Sheets(BLATTNAME).Range("A2").Value & "\" & lstrZiel
    FileCopy lstrQuelle, lstrZiel
End Sub

Für BLATTNAME musst Du natürlich den richtigen Blattnamen eintragen.
Konnte ich helfen?
Ciao
Thorsten
Bild

Betrifft: AW: Datei per VBA kopieren
von: Frank Sohn
Geschrieben am: 22.03.2005 16:51:34
Hallo,

wie wär's damit :

Private Sub Copy(ByVal SrcPath As String, _
                 ByVal DstPath As String, _
                 ByVal FileName As String)
                 
Dim src As Variant, dst As Variant
  src = SrcPath & FileName    ' Namen der Quelldatei festlegen.
  dst = DstPath & FileName    ' Namen der Zieldatei festlegen.
  FileCopy src, dst    ' Quell- in Zieldatei kopieren.
End Sub


Private Sub Test()
 Call Copy("H:\", _
           "K:\", _
           "Services.txt")
           
End Sub


Gruss
Frank
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Datei per VBA kopieren"