※要参照設定: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
コメント