Как скопировать или сделать резервную копию файлов в VBA - PullRequest
0 голосов
/ 26 июня 2019

Это 2 подпрограммы VBA для копирования или резервного копирования файла.

Sub File_Backup(Path, Orig_File_Name)
    ' Make a Backup copy of a file
    ' 6/25/19 Craeated. WML

    ' Note: "{Backup}" is used to put the new file under the original _
            File Name in File Explorer.

    Prog = "File_Backup"

    ' Get File extention.
    Test_Ptr = 0
    Do
        Ptr = Test_Ptr
        Test_Ptr = InStr(Test_Ptr + 1, Orig_File_Name, ".")
    Loop Until Test_Ptr = 0
    File_Name = Left(Orig_File_Name, Ptr - 1)
    Extention = Mid(Orig_File_Name, Ptr)

    New_File_Name = File_Name & "{Backup}" & Extention
    Call File_Copy(Path, Orig_File_Name, Path, New_File_Name)

End Sub ' File_Backup

Sub File_Copy(From_Path, From_Name, To_Path, To_Name, _
                Optional Overwrite as Boolean = True)
    ' Copy a file from one place to another.
    ' 6/26/19 WML

    Prog = "File_Copy"

    Dim oFSO As Object
    Set oFSO = CreateObject("Scripting.FileSystemObject")

    If Right(To_Path, 1) <> "\" Then To_Path = To_Path & "\"
    If Right(From_Path, 1) <> "\" Then From_Path = From_Path & "\"

    Call oFSO.CopyFile(From_Path & From_Name, To_Path & To_Name, Overwrite)

End Sub ' File_Copy

Нет сообщений об ошибках, если вы не попытаетесь скопировать файл с тем же именем, а "Overwrite" = False, которая будет перехвачена каксистемная ошибка.

...