I created a C# class to handle some of missing Excel application level events such as : Workbook close, worksheet rename, worksheet delete, range name added, range name deleted, application activated, application deactivated.
Excel does offer a workbook closing event, but the user can cancel it. The workbook closed event fires when the workbook actually closes.
Usage is fairly straightforward :
ExcelApplicationEvents _appEvents = new ExcelApplicationEvents(_app, ApplicationEvents.WorkbookClosed); _appEvents.WorkbookClosed += _appEvents_WorkbookClosed;