VBからExcel 2016を起動しユーザー操作によるEXCEL終了を管理(キャンセル)しようとしています。
EXCELメニューバーから「ファイル」→「閉じる」を選択した場合は何度でもイベントを捉えられますが、
EXCELのウィンドウ右上のバツマークからの場合、初回操作による終了はVBでイベントをとらえられ
キャンセルできますが、2回目のユーザー操作による終了をVBで捉えることができず終了してしまいます。
EXCEL2013ではどちらの操作でもイベントを捉えることができます。
OSはWindows7 64bit VBは2015communityです。
2回目以降もイベントを捕らえる方法があればご教授お願いします。
Imports Microsoft.Office.Interop
Public Class Form1
Public XlApp As Excel.Application
Public WithEvents xlBook As Excel.Workbook
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
XlApp = CreateObject("Excel.Application")
XlApp.Visible = True
Try
XlApp.Workbooks.Open(Filename:="XXXXXX.xlsx",
IgnoreReadOnlyRecommended:=True)
xlBook = XlApp.Workbooks(1)
Catch
Call MsgBox("指定申請書類は他のユーザーが使用している可能性があります。" &
vbNewLine & "しばらくして、もう一度実行してください。", vbExclamation, "共有チェック")
XlApp.Quit
XlApp = Nothing
Exit Sub
End Try
End Sub
Private Sub xlBook_BeforeClose(ByRef Cancel As Boolean) Handles xlBook.BeforeClose
Cancel = True
End Sub
End Class