ホーム > ライブラリ > Book > fBook_Dialog_BeforeClose

ライブラリ

fBook_Dialog_BeforeClose

BeforeCloseイベントの後に保存確認ダイアログが出るので、
ダイアログを模倣して先に処理してしまう
(BeforeCloseイベントで先にこの関数を呼び、後で他の処理を進める感じで使う)

Public Function fBook_Dialog_BeforeClose(Cancel As Boolean) As Boolean
'閉じる時の保存確認ダイアログを模倣(BeforeCloseイベントの後にダイアログが出るので先取り)
'「Private Sub Workbook_BeforeClose(Cancel As Boolean)」で以下を記述
'   If fBook_Dialog_BeforeClose(Cancel) = False Then Exit Sub
'※ BeforeCloseイベントでブックに処理した場合、最後に「ThisWorkbook.Saved =True」が必要
    
    '初期値:保存不要
    Dim Ret As VbMsgBoxResult
    Ret = vbNo
    
    '保存されていない場合、保存確認ダイアログを表示
    If ThisWorkbook.Saved = False Then
        Ret = MsgBox(ThisWorkbook.Name & " への変更を保存しますか?", vbExclamation + vbYesNoCancel)
    End If
    
    'クローズキャンセル
    If Ret = vbCancel Then
        Cancel = True
        Exit Function
    End If
    
    '保存する場合
    If Ret = vbYes Then
        ThisWorkbook.Save
    End If
    
    '後で保存確認ダイアログが出ないようにする
    ThisWorkbook.Saved = True
    
    fBook_Dialog_BeforeClose = True
    
End Function
 

Book   2018/10/30   shono

この記事へのコメント

コメントを送る

 
※ メールは公開されません
Loading...
 画像の文字を入力してください