【VBA】自動保存を解除する!AutoSaveOnとEnableAutoRecoverの使い方

2021年6月7日

VBAで自動保存したくないのに、勝手にオンになってしまっている。

特に、OFFICE365になってから、デフォルトの設定で自動保存がオンの状態であるため、

サラリーマン

サラリーマン

  • 閉じると勝手に保存されている。
  • 終了時に自動保存がかかってしまう。

 

また定期的に上書き保存がかかってしまうので、VBAでファイルを保存せずに閉じたい場合なんかは、非常に困ります。

そこで、自動保存を「オフ・停止」するためのVBAコーディングについて解説していきます。

 

 

自動保存の設定画面について

実際に画面で設定項目位置を確認しておきましょう。

 

1.2013年以前バージョンの自動保存設定画面

 

■【2013年以前バージョンの自動保存設定画面】

 

2.Office365の自動保存設定画面

■Office365(2016以降)の自動保存設定画面

 

 

<Office365(2016以降)の自動保存設定位置>

エクセルを開いた後、左上に表示されています。

 

 

このように、画面の使用も大きく変わっています。これに伴って、メソッドも変更されているに違いありません。

 

VBAで自動保存を解除する(オフする)2つの記述方法

VBAでコーディングする際、自動保存を解除・オフにするのには2つの方法があります。

 

<自動保存を行わない2つの記述方法>
  • ActiveWorkbook.EnableAutoRecover = False   '・・・従来
  • ActiveWorkbook.AutoSaveOn = False       ’・・・最新

 

EnableAutoRecoverは、2013以前のOfficeのバージョンで利用可能なメソッドであるのに対して、「AutoSaveOn」は、自Office365で出てきているメソッドなので、新たなOfficeをご利用の方は注意が必要です。

 

「AutoSaveOn」のメソッドが有効になっている場合、これらのイベントは、ユーザーの操作なしで定期的かつ自動的に発生します。

特に、Office365へ移行された直前は、この自動保存が「有効化」されていますので、マクロなどで利用される際には、設定の確認しておきましょう。

 

EnableAutoRecoverとAutoSaveOnの2つの違い

「EnableAutoRecoverとAutoSaveOn」のどちらも、基本的な利用目的は「自動保存」なので同じですが、決定的な違いがあります。

それは、「AutoSaveOn」メソッドは2016年以降に作成されているため、それ以前のバージョンではサポートされていない。

という点にあります。

マクロでAutoSaveOnメソッドを実行しても、「オブジェクトは、このプロパティまたはメソッドをサポートしていません。

の表示が出ます。ちなみにAutoSaveOnは、Office2013ではサポートされていませんでした。

 

メソッド対応時期Ofiice適応バージョン
EnableAutoRecover2013年以前Office2013以前のバージョンに対応
AutoSaveOn2016年以降Office2016・Office365・OneDriveに対応

 

なので、バージョンに合わせて、どちらの記述を通すかの切り分けが必要になりそうですね。

ちなみに、こうした問題を解決する場合には、下記によるソース記述が有効です。

【VBA】AutoSaveOnでエラー「メソッドをサポートしていません。」の回避処理

 

OFFICE365やOne Driveの影響について

この「AutoSaveOn」メソッドは、Office365の移行に伴い、変更されたメソッドになります。そのため、Office365およっびOneDrive等のクラウドによるサービスへの影響に対しても、下記のようにMicrosoft社が明示しております。

 

【AutoSave の概要】

ファイルがクラウド (OneDrive、OneDrive for Business、または SharePoint Online) でホストされている場合、AutoSave を使用すると、ユーザーの編集内容を自動的かつ継続的に保存できます。 ファイルが他のユーザーと共有されている場合、その変更は、このユーザーのバージョンのファイルにマージされます AutoSave がオフの場合、ユーザーの変更がクラウドに保持され、このユーザーが他のユーザーの変更を受け取る場合は、保存を手動でトリガーする必要があります。

参考文献:Microsoft-自動保存がアドインおよびマクロに与える影響について

 

そのため、VBAやマクロで処理を行う際には、Office2013以前のバージョンを利用されているユーザーは、この「AutoSaveOn」のメソッドがサポートされていないため、動作しませんので覚えておきましょう。

まとめ

このように、自動保存を設定する際には、新たなOffice365のバージョン移行に伴って、非常に利用しやすくなったように感じます。

しかし、VBAからの直接自動保存を解除するためには、まだ旧バージョンのOfficeを利用している方も少なくないため、VBAコーディングには、アクティブなPCのバージョン情報を取得して、切り分けるためのひと手間を加えるひと手間が必要になることが予想されます。

 

【VBA】IE操作でボタンをクリックする2つの方法

 

<楽天Web検索の自動クリックツール>

「楽天Web検索」を自動でクリックしてポイントを根こそぎ取得する機能を開発しました。これにより、何度も手動で検索しなくても自動で検索してくれるので、手軽にポイントをゲットできる仕組みとなっています。noteのページにて期間限定価格で100部ご紹介しております。ご興味のある方は下記ページより詳細をご確認下さい。^^

noteページはこちら

 

もしよろしければフォローして下さい。ブログの励みになります(^^)

【おすすめ:WordPressテーマ 「WING(AFFINGER5)」について
     ※ブログを始めるなら絶対おすすめ【特典あり】


私も新たなサイト【育チルnet」にて、検索エンジンの上位の多くを占めると言われるSEO対策に強いWordpressテーマを導入してみました。

無料テーマから有料テーマにしただけなのに、0円だった収益が2~3万円まで上がったんです!

正直驚きでした!実際に利用した所感は、デザイン性能がかなり整っていますし、表示速度もやっぱりかなり速いです。人気なWordpressテーマなだけはあると感じました。

無料のテーマでも私は悪いとは思っていませんが、やはり検索エンジンからの評価はだいぶ違いました。

初めて数ヶ月ですが、もうすでに検索エンジンから大きく表示されるようになっています。

どうせやるなら、しっかりgoogle社からの評価を受けられる整えられた環境でブログ運営する方が絶対にいいと感じたため、当サイトをご覧下さった皆様にもお伝えさせて頂きました!

新たにWordpressテーマをご検討方は、当サイトからのご購入でしか受け取れない5つの特典も付いていますので、ご興味のある方はぜひご利用下さい。
購入者限定特典はこちら

レビューを見る

【業界最安値!人気のウォーターサーバーはこちら】