ブックが保存される前に処理を実行する : Excel VBA

ブックが保存される直前に処理を実行するイベントは、Workbook_BeforeSaveです。

イベント構文 : Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI : 名前を付けて保存の場合、TRUEが返ります
Cancel : TRUEを設定すると保存されません。デフォルトはFALSEです。



Homeに戻る > Excel ブックのTipsへ

Excel実行画面

クイックアクセスツールバーの[上書き保存]ボタンをクリックすると「保存しますか?」とメッセージが表示されます。
クイックアクセスツールバーの[上書き保存]ボタンをクリック

リボンの[ファイル]から[名前を付けて保存]を実行しても、「保存しますか?」とメッセージが表示されます。
「保存しますか?」とメッセージが表示されます

ブックを保存する直前に、処理を実行するVBAの入力画面です。
ブックを保存する直前に、処理を実行するVBAの入力画面です

[名前を付けて保存]を実行した場合は、メッセージが表示されないように変更したVBAの入力画面です。
[名前を付けて保存]を実行した場合は、メッセージが表示されないように変更

Excel VBAコード

Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim lrtn As Long
    
    lrtn = MsgBox("保存しますか?", vbOKCancel)
    If lrtn = vbCancel Then
        Cancel = True
    End If
End Sub

■[名前を付けて保存]を実行した場合は、メッセージが表示されないように変更したVBAコード
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim lrtn As Long
    
    If SaveAsUI = False Then
        lrtn = MsgBox("保存しますか?", vbOKCancel)
        If lrtn = vbCancel Then
            Cancel = True
        End If
    End If
End Sub

Homeに戻る > Excel ブックのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved