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

VBAでOffice2016から新たに追加されたAutoSaveOnメソッド。しかし、未だ2013以前のPCを利用されている方も少なくありません。

そのため、Office2016やOffice365を利用されている方は、自動保存機能がデフォルトでONの状態になっているため、イベントごとで勝手に保存がかかります。

便利で快適に感じる方が多いかもしれませんが、VBAでそのファイル自体に保存をしたくない場合には、この自動保存機能がデメリットになることがあります。

そこで、本章では、VBA処理時のAutoSaveOnイベントでエラー表示される「メソッドをサポートしていません。」の回避処理について解説していきます。

 

自動保存をかけたくない場合はどんな時?

自動保存をかけたくない場合とは、どんな時にあるのでしょうか?実は、下記のような場合に遭遇しました。

 

<自動保存をかけたくない場合とは>

  • VBAで一部データを削除し別ファイルにデータ保存するが、元ファイルを保存したくない場合

 

 

Office365などでは、自動保存がデフォルトでONの御状態です。

ファイルを閉じる前にも自動保存がかかってしまうため、「VBAでソートかけて、VBAで一部データを削除し別ファイルにデータ保存するが、元ファイルを保存したくない。」場合でも、保存されて、ファイルがクローズされてしまいます。

このように、Office365やShare Point上で、データをダウンロードをする際には、ファイルが自動保存され、一部のデータが消えてしまうということありました。

 

Office2013以前のバージョンで「AutoSaveOnメソッド」を実行した時のエラーメッセージ

Office2013以前のバージョンで「AutoSaveOnメソッド」を実行しても下記のようなエラーメッセージが表示されます。

 

その前に、自動保存を解除するための使い方の詳細は下記で確認しておきましょう。

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

 

<Office2013以前のバージョンで「AutoSaveOnメソッド」を実行した時のエラーメッセージ>

  • オブジェクトは、このプロパティまたはメソッドをサポートしていません。

 

こんなメッセージが表示されます。

Office2013以前のユーザーやOffice2016以降を利用されるユーザーが存在した場合、Office2013以前のバージョンを利用しているユーザーのみ、このメッセージが表示され、VBAの実行処理は、上記メッセージが上がり、処理が中断されてしまいます。

この問題を回避するためには、制御ロジックを組み込む必要があります。

 

Officeのバージョンが異なるユーザーに「AutoSaveOn」メソッドを切り分ける考え方

AutoSaveOnメソッドは、Office2016以降のバージョンの利用者にしか適用することができません。そのため、効果的な対処法には下記の方法が有効です。

 

【Officeのバージョンが異なる利用者に「AutoSaveOn」メソッドを切り分ける考え方】

  • Officeのバージョン情報を取得する

 

AutoSaveOnメソッドを利用する際には、Office2016以降の利用者であるかどうかを判別するための「バージョン情報」を取得する処理を加えてあげれば、AutoSaveOnメソッドを通さずに、自動保存をかけることなく、処理を流すことが可能です。

 

AutoSaveOnメソッドのエラー回避処理

VBAによるAutoSaveOnメソッドのエラー回避処理は、下記のように記述するとよいでしょう。

 

【解説】

こちらの記述は、マクロが実行された各PCのOfficeのバージョン情報を取得するロジックです。このロジックで、AutoSaveOnのメソッドが利用可能なのかどうか、すみわけを行うことができます。

またOffice2013以前のバージョンでは、自動保存がデフォルトでオフになっているため、こうした問題は起こっていませんでしたが、Office365とSharePointを利用される場合に、こうした問題が発生することが確認されました。

 

まとめ

このように、自動保存は非常に便利でありがたい機能ですが、マクロの機能を利用されている方は、利用の仕方によっては、誤ってデータを消してしまうことにもつながりますので、バックアップ対応とソースの記述に一部注意が必要になることを覚えておきましょう。

 

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

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

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


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

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

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

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

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

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

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

レビューを見る

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