バックアップ用のファイルを自動生成したい
VBAマクロを実行する際、
- 使い方を間違っていた
- コードに不具合があった
など様々な理由で、元の状態(マクロ実行前の状態)に戻したい場合があります。
残念ながら一度VBAマクロを実行してしまうと、元に戻すことはできません。
その為、バックアップ用のファイルを作成しておくことが望ましいです。
バックアップ用のファイルを自動生成するサンプルコード
Public Function Call_MakeBackup() '■バックアップするフォルダ名の取得、必要あれば、フォルダを作成 Dim sPath As String sPath = ThisWorkbook.Path & "\backup" Call Call_MkDir(sPath) 'フォルダを作成 '★ '■バックアップファイル名を取得 Dim sName As String sName = call_BaseNameGet(ThisWorkbook.Name) & "_" & Format(Now(), "yymmdd") & "_" & Format(Now(), "hhmmss") & ".xlsm"'★ ’■バックアップ処理 ThisWorkbook.SaveCopyAs Filename:=Call_TruePath(sPath) & sName '★ End Function
使い方
実際の使い方は以下です。
Public Sub sample() Call Call_MakeBackup End Sub
注意点
- 上記コードのみでは動きません。下記のパーツ化された処理も追加してください。
※コメント★部分の処理は別処理で動きます。
・指定フォルダが存在しなければフォルダ作成
・ファイル名と拡張子を分ける処理
・指定パスの末尾に円マーク(\)付与する
コメント