ポテトチップ集

気が向いたら更新。備忘録ブログ

Excelファイルの自動バックアップ

time 2021/02/27

Excelファイルの自動バックアップ

会社でサーバー上に保存してある重要なExcelファイルってありますよね。
複数人でそのファイルを更新しているような

そんなファイルは誰かが誤って削除や移動、壊してしまったりしたら、リカバリーに大変な時間を取られるんですよね。
もしくは完全復活が出来なく仕事に支障をきたしたり・・・

この記事は、そんなファイルを自動でバックアップ出来るようにしたVBA処理をメモっています。

sponsored link

作りたかったもの

  • 既存のExcelファイルにVBAを追記して、以下のバックアップ動作を行わせる
  • 通常の保存操作時にバックグラウンドで同じフォルダ内に用意してあるバックアップ用フォルダにバックアップ(コピー)を行う
  • 仮にバックアップ用フォルダが無ければ、何も行わないし、メッセージも出さない
    (ローカル等にコピーして使う場合にエラーメッセージが出ると面倒なので)
  • バックアップファイルのファイル名は「コピー元ファイル名+バックアップ時の日時」
  • バックアップフォルダの容量を制限するために、定数に設定した数のファイル数を超えないように、古いファイルから削除して設定ファイル数を保つ

利用条件

この方法を使うと、Excelブックに記載したVBAコードを保存する為に、Excelファイルの拡張子を「.xlsx」から「.xlsm」に変更する必要があるので注意。

VBAコード

VBA記述は、全て「Bookモジュール」のみ

使用方法

準備

  1. 自動バックアップにしたいExcelファイルを変更するので、その前にバックアップを取っておく
  2. 自動コピーしたいExcelファイルを開き、ALT+F11ショートカットキーで開くVBE画面のブックモジュールに上記VBAコードをコピペする
  3. 定数(コード1行目)「バックアップフォルダ名」にバックアップ用フォルダ名を記載
    ※目的のExcelファイルを別の場所にコピーして使った場合、偶然同じ名前のフォルダがファイルと同列にあると、バックアップされてしまうので、具体的な名前の方が望ましい。
  4. 定数(コード2行目)「バックアップファイル数」にバックアップファイル制限数を記載
  5. 上書き保存 ⇒ (注意:ここで拡張子を.xlsmに変更しないとVBAコードが保存されない)
  6. バックアップしたいExcelファイルと同列の位置に上記で決めたフォルダ名の空のフォルダを作る

動作確認

実用化する前に下記のテストを行い十分確認

デスクトップに「テストフォルダ」を作り、その中にExcelファイルとバックアップ用フォルダを入れて、Excelファイルを変更保存する度にバックアップ用フォルダ内に保存ファイルが作られる事を確認。(バックアップファイル数の制限も効いていることを確認)

運用

ファイルの更新作業は、特に今までと変わらない

  • 保存処理直後にバックグラウンドで自動バックアップ処理が行われる
    指定したバックアップフォルダ名のフォルダがファイルと同列にあればバックアップ処理をするが、無ければ何も処理しない。
  • バックアップ処理中にエラーが発生した場合のみメッセージがでる。
     ⇒ 「バックアップ処理にエラーがありました。管理者へご連絡下さい」

最後に

これは自分の為の覚え書きメモです。
掲載内容を運用した結果については一切責任持てません。

sponsored link

down

コメントする







最近のコメント

    人気のページ

    

    sponsored link