Datei(en) verschieben

Frage: Ich möchte eine bestimmte Datei (eventuell auch alle Dateien eines Ordners) verschieben. Der Zielordner soll ohne Nachfrage angelegt werden, wenn er noch nicht existiert. Wie geht das?

Option Explicit
Private Declare Function MakeSureDirectoryPathExists _
    Lib "imagehlp.dll" (ByVal Pfad As String) As Long
Const strArchive As String = "C:\Archive\" ' adapt
Public Sub Main()
    Dim strSource As String
    Dim objFSO As Object
    On Error GoTo Fin
    MakeSureDirectoryPathExists (strArchive)
    'With the following line you can move ALL Excel files
    'strSource = "C:\Temp\*.xls*"
    strSource = "C:\Temp\Book1.xls" ' adapt
    If Dir(strSource) = "" Then MsgBox "Nothing there!": Exit Sub
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.MoveFile strSource, strArchive
Fin:
    If Err.Number <> 0 Then MsgBox "Error: " & _
        Err.Number & " " & Err.Description
    Set objFSO = Nothing
End Sub

Beliebte Posts aus diesem Blog

Formeln - auch Array - per VBA eintragen...

Alle Dateien eines Ordners - Optional mit Unterordner

Excel -> Word in Textmarken (Bookmarks)...