using System;
using Excel;
using System.Reflection;
public class MainClass
{
public static AppEvents_WorkbookBeforeCloseEventHandler Event_BeforeBookClose;
public static DocEvents_ChangeEventHandler Event_ChangeEvent;
public static void Main(string[] args)
{
Application excelApp = new ApplicationClass();
Workbook MyWorkbook = excelApp.Workbooks.Add(Missing.Value);
MyWorkbook.Windows.get_Item(1).Caption = "Using Delegates";
Worksheet MyWorksheet1 = (Worksheet)MyWorkbook.Worksheets.get_Item(1);
Worksheet MyWorksheet2 = (Worksheet)MyWorkbook.Worksheets.get_Item(2);
Worksheet MyWorksheet3 = (Worksheet)MyWorkbook.Worksheets.get_Item(3);
MyWorksheet1.Activate();
Event_BeforeBookClose = new AppEvents_WorkbookBeforeCloseEventHandler(BeforeBookClose);
excelApp.WorkbookBeforeClose += Event_BeforeBookClose;
Event_ChangeEvent = new DocEvents_ChangeEventHandler(CellChange);
MyWorksheet1.Change += Event_ChangeEvent;
MyWorksheet2.Change += Event_ChangeEvent;
MyWorksheet3.Change += Event_ChangeEvent;
excelApp.Visible = true;
excelApp.UserControl = true;
}
private static void CellChange(Range Target)
{
MessageBox.Show("cell changed");
}
private static void BeforeBookClose(Workbook MyWorkbook, ref bool Cancel)
{
MessageBox.Show("before closing a workbook");
}
}