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

スポンサーリンク

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

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

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

コード

 

解説

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

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

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

 

POINT
処理終了後は、Application.DisplayAlertsをTrueに戻しましょう
注意すること
警告メッセージを表示しないで、問答無用で上書き保存します。
そのため、運用上「本当に上書き保存して問題ないか」を確認した上で、このApplication.DisplayAlerts = Falseの設定は行ってください。

関連記事

VBAテクニック辞典
VBAテクニック辞典
エクセルVBAおすすめ本|実際に読んだ本を目的別に紹介
エクセルVBAおすすめ本|実際に読んだ本を目的別に紹介
中途・未経験でプログラマーに転職する方法【30代前半までが勝負】
中途・未経験でプログラマーに転職する方法【30代前半までが勝負】
タイトルとURLをコピーしました