Excel workbook event handlers : Excel « Windows « C# / CSharp Tutorial






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");
  }
}








29.15.Excel
29.15.1.Excel Interop Example
29.15.2.BindToMoniker Excel
29.15.3.Excel workbook event handlers