ExcelVBAでブックの自動回復機能を操作【ExcelVBA】
Application.AutoRecoverプロパティでAutoRecoverオブジェクト(ブックの自動回復機能)を操作することができる
■Pathプロパティ → 一時ファイルを格納するパスを取得・設定
■Time プロパティ → 時間間隔を取得・設定 ※既定値10分 1~120分(整数)
■Enabledプロパティ → 有効・無効の設定 有効 TRUE 無効 FALSE
一番上のファイルの保存形式を指定する場合
■Application.DefaultSaveFormatプロパティ ファイルを保存する既定の形式を取得・設定
既定のブック → *.xlsx xlWorkbookDefault
マクロ有効ブック → *.xlsm xlOpenXMLWorkbookMacroEnabled
CSV → *.csv xlCSV
C:\Users\〇〇〇〇\AppData\Roaming\Microsoft\Excel ブックの保存先のデフォルトはユーザー名を設定した場所
こちらをWorkbookのopenイベントで開いた時に設定し、BeforeCloseで閉じる際に元の設定に戻すことで
特定のブックのみ自動回復機能を指定したい設定にする形で実践
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
実際に使用したサンプルコード
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application.AutoRecover
.Enabled = False
.Time = 10
.Path = "C:\Users\ユーザー\AppData\Roaming\Microsoft\Excel"
End With
Application.DefaultSaveFormat = xlWorkbookDefault
End Sub
Private Sub Workbook_Open()
With Application.AutoRecover
.Enabled = True
.Time = 5
.Path = ThisWorkbook.Path
End With
Application.DefaultSaveFormat = xlOpenXMLWorkbookMacroEnabled
End Sub