自身のバックアップを行う

※要参照設定:Microsoft Scripting Runtime
Public Sub prcBackupDatabase()
    Dim fso As New FileSystemObject ' FileSystemObject
    Dim strCurrentPath As String ' 現在のファイルパス
    Dim strBackupPath As String  ' バックアップファイルパス
    Dim strFileName As String    ' 現在のファイル名
    Dim strBackupFileName As String ' バックアップファイル名
    Dim strDateTime As String    ' 現在の日付と時刻

    ' 現在のデータベースファイルのフルパスを取得
    strCurrentPath = CurrentDb.Name
    ' 現在のデータベースファイル名を取得
    strFileName = fso.GetFileName(strCurrentPath)

    ' 日付と時刻をyyyymmdd-hhnnss形式で取得
    strDateTime = Format(Now, "yyyymmdd-hhnnss")

    ' バックアップファイル名を作成
    strBackupFileName = Left(strFileName, Len(strFileName) - 6) & "_" & strDateTime & ".accdb"

    ' バックアップファイルパスを作成
    strBackupPath = fso.GetParentFolderName(strCurrentPath) & "\" & strBackupFileName

    ' データベースファイルをコピーしてバックアップを作成
    fso.CopyFile strCurrentPath, strBackupPath

    ' FileSystemObjectの解放
    Set fso = Nothing
End Sub

コメント