VBA, MS Access MS Access в примерах

Создание копии файла в той же папке что и исходный (FSO)

Private Sub CreteFileCopyInSameDir(sSrcFilePath$, sNewFileName$)
' Создание копии файла в той же папке что и исходный (FSO)
' ------------------------------------------------------------
' Аргументы:
' sSrcFilePath - Путь к исходному файлу
' sNewFileName - Новое имя файла без пути
' ------------------------------------------------------------
Dim objFSO As Object, objFSOFile As Object
Dim sNewFilePath$
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    If Not (objFSO.FileExists(sSrcFilePath)) Then ' Проверка наличия
        MsgBox "Файл :" & vbCrLf & sSrcFilePath & vbCrLf & _
            "не найден!", vbExclamation, "CreteFileCopySameDir - Stop!"
        Exit Sub
    End If
    
    Set objFSOFile = objFSO.GetFile(sSrcFilePath)
    
' Путь к копии
    sNewFilePath = objFSOFile.ParentFolder.Path & _
        "\" & sNewFileName
    'Debug.Print sNewFilePath
    
'Копирование:  - ... CopyFile(source, destination [,overwrite])
    objFSO.CopyFile sSrcFilePath, sNewFilePath, True ' ... с перезаписью
    DoEvents
    
    Set objFSOFile = Nothing
    Set objFSO = Nothing
    
End Sub
Назад ToTop
L.E. 10.10.2024
Рейтинг@Mail.ru