Using Office Events

image_pdfimage_print
   

/*
 * C# Programmers Pocket Consultant
 * Author: Gregory S. MacBeth
 * Email: gmacbeth@comporium.net
 * Create Date: June 27, 2003
 * Last Modified Date:
 * Version: 1
 */
using System;
using Excel;
using System.Reflection;

namespace Client.Chapter_19___Office_Integration
{
  public class UsingOfficeEvents
  {
    public static AppEvents_WorkbookBeforeCloseEventHandler Event_BeforeBookClose;
    public static DocEvents_ChangeEventHandler Event_ChangeEvent;
    static void Main(string[] args)
    {
      Application MyExcel = new ApplicationClass();
      Workbook MyWorkbook = MyExcel.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();

      //Add Event Handler for the BeforeClose Event
      Event_BeforeBookClose = new AppEvents_WorkbookBeforeCloseEventHandler(BeforeBookClose);
      MyExcel.WorkbookBeforeClose += Event_BeforeBookClose;

      //Add Event Handler for the change Event
      Event_ChangeEvent = new DocEvents_ChangeEventHandler(CellChange);
      MyWorksheet1.Change += Event_ChangeEvent;
      MyWorksheet2.Change += Event_ChangeEvent;
      MyWorksheet3.Change += Event_ChangeEvent;
      MyExcel.Visible = true;
      MyExcel.UserControl = true;
    }
    private static void CellChange(Range Target)
    {
      //Gets called when you change a cell
    }
    private static void BeforeBookClose(Workbook MyWorkbook, ref bool Cancel)
    {
      //Gets called before closing a workbook
    }
  }

}

           
          


This entry was posted in Office. Bookmark the permalink.