VBA100本ノック 20本目:ブックのバックアップ
こちらで公開されている、100本ノックに挑戦。
www.excel-ubara.com
素晴らしい教材を公開いただき、ありがとうございます。
上記リンク先から、問題文を転載。
どの時点での最新版かをファイル名に持たせる場合、日時だけでなく
時分秒の情報を含ませるのは、良くあることで。更新頻度が高くない
ならば、今回のお題のとおり、時分だけでも充分と思われる。
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はとても便利なので、お勧めです。
※冒頭リンク先の解答例および解説も、ぜひご一読ください。
参考まで。