Option Explicit
Private WithEvents App As Excel.Application
'***********************************************************************************************
'* ユーザーがブックを開いたときにApplicationを可視化する
'***********************************************************************************************
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
If Not Wb Is ThisWorkbook Then
Application.Visible = True
Application.UserControl = True
End If
End Sub
'***********************************************************************************************
'* ユーザーがブックを閉じようとしたときにApplicationを非可視化する
'***********************************************************************************************
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = True
Application.Visible = False
Application.UserControl = False
End Sub
'***********************************************************************************************
'* ユーザーがブックを開いたときにWorkbookを非可視化する
'***********************************************************************************************
Private Sub Workbook_Open()
Set App = Excel.Application
ThisWorkbook.Windows(1).Visible = False
End Sub
プロセスはバックグラウンドにのこりますが、Excelファイルをダブル****ックすると
一旦、EXCEL.EXE が新しいプロセスで起動してすぐ終了し、
既存のプロセスで開きます。
というわけで、普通に起動するよりも遅くなりました。