【VBA】同名ファイルが存在しても、メッセージ非表示で上書き保存する

Application.DisplayAlertsでメッセージを制御する

新規のエクセルファイル(ブック)に名前を付けて保存する時、すでに同じ名前のファイルが存在すると、下の警告メッセージが表示されVBAの処理が止まってしまいます。

そのため、警告メッセージを表示されるプログラムの直前で、Application.DisplayAlerts=Falseを設定し、警告メッセージを非表示にします。

コード

 

解説

保存処理の直前で、Application.DisplayAlerts = Falseとして、警告メッセージを表示しないようにしています。

こうすることで、同名のファイルがすでにあっても警告メッセージは表示されずに、ファイルが上書き保存されます。(当然ですが、すでにあった同名ファイルはなくなります)

保存処理が終わった後は、Application.DisplayAlertsをTrueに戻し、以降の処理では警告メッセージが表示されるようにしています。

 

POINT

処理終了後は、Application.DisplayAlertsをTrueに戻しましょう

注意すること

警告メッセージを表示しないで、問答無用で上書き保存します。

そのため、運用上「本当に上書き保存して問題ないか」を確認した上で、このApplication.DisplayAlerts = Falseの設定は行ってください。

 

関連記事

VBAテクニック辞典
成果を出す5つのポイント
VBAテクニック辞典
えくとしょ | 初心者のためのエクセルとVBAの図書館
タイトルとURLをコピーしました