VBA100本ノック 20本目:ブックのバックアップ

こちらで公開されている、100本ノックに挑戦。
www.excel-ubara.com
素晴らしい教材を公開いただき、ありがとうございます。

上記リンク先から、問題文を転載。
f:id:Infoment:20220207220226p:plain

どの時点での最新版かをファイル名に持たせる場合、日時だけでなく
時分秒の情報を含ませるのは、良くあることで。更新頻度が高くない
ならば、今回のお題のとおり、時分だけでも充分と思われる。

Sub VBA_100Knock_020()
    Dim FSO As Scripting.FileSystemObject
    Set FSO = New Scripting.FileSystemObject
    
    ' BACKUPフォルダの存在確認。無ければ作る。
    Dim BackupFolderPath As String
        BackupFolderPath = ThisWorkbook.Path & _
                           "\" & "BACKUP"
        If Not FSO.FolderExists(BackupFolderPath) Then
            MkDir BackupFolderPath
        End If
        
    ' BACKUPファイルの作成。
    Dim BackupFileName As String
        BackupFileName = FSO.GetBaseName(ThisWorkbook.Name) & _
                         Format(Now, "_yyyymmddhhmm") & _
                         ".xlsm"
        
        ThisWorkbook.SaveCopyAs BackupFolderPath & "\" & _
                                BackupFileName
End Sub

今回は、事前にMicroSoft Scripting Runtimeを参照設定したうえで、
変数FSOを宣言した。FileSystemObjectはとても便利なので、お勧めです。

※冒頭リンク先の解答例および解説も、ぜひご一読ください。

参考まで。