WorkbookEvents Interface
WorkbookEvents_ActivateEventHandler Delegate
WorkbookEvents_AddinInstallEventHandler Delegate
WorkbookEvents_AddinUninstallEventHandler Delegate
WorkbookEvents_AfterXmlExportEventHandler Delegate
WorkbookEvents_AfterXmlImportEventHandler Delegate
WorkbookEvents_BeforeCloseEventHandler Delegate
WorkbookEvents_BeforePrintEventHandler Delegate
WorkbookEvents_BeforeSaveEventHandler Delegate
WorkbookEvents_BeforeXmlExportEventHandler Delegate
WorkbookEvents_BeforeXmlImportEventHandler Delegate
WorkbookEvents_DeactivateEventHandler Delegate
WorkbookEvents_Event Interface
WorkbookEvents_NewSheetEventHandler Delegate
WorkbookEvents_OpenEventHandler Delegate
WorkbookEvents_PivotTableCloseConnectionEventHandler Delegate
WorkbookEvents_PivotTableOpenConnectionEventHandler Delegate
WorkbookEvents_SheetActivateEventHandler Delegate
WorkbookEvents_SheetBeforeDoubleClickEventHandler Delegate
WorkbookEvents_SheetBeforeRightClickEventHandler Delegate
WorkbookEvents_SheetCalculateEventHandler Delegate
WorkbookEvents_SheetChangeEventHandler Delegate
WorkbookEvents_SheetDeactivateEventHandler Delegate
WorkbookEvents_SheetFollowHyperlinkEventHandler Delegate
WorkbookEvents_SheetPivotTableUpdateEventHandler Delegate
WorkbookEvents_SheetSelectionChangeEventHandler Delegate
WorkbookEvents_SinkHelper Class
WorkbookEvents_SyncEventHandler Delegate
WorkbookEvents_WindowActivateEventHandler Delegate
WorkbookEvents_WindowDeactivateEventHandler Delegate
WorkbookEvents_WindowResizeEventHandler Delegate RefreshEvents Interface
RefreshEvents_AfterRefreshEventHandler Delegate
RefreshEvents_BeforeRefreshEventHandler Delegate
RefreshEvents_Event Interface
RefreshEvents_SinkHelper Class OLEObjectEvents_GotFocusEventHandler Delegate
OLEObjectEvents_LostFocusEventHandler Delegate DocEvents_ActivateEventHandler Delegate
DocEvents_BeforeDoubleClickEventHandler Delegate
DocEvents_BeforeRightClickEventHandler Delegate
DocEvents_CalculateEventHandler Delegate
DocEvents_ChangeEventHandler Delegate
DocEvents_DeactivateEventHandler Delegate
DocEvents_Event Interface
DocEvents_FollowHyperlinkEventHandler Delegate
DocEvents_PivotTableUpdateEventHandler Delegate
DocEvents_SelectionChangeEventHandler Delegate ChartEvents_ActivateEventHandler Delegate
ChartEvents_BeforeDoubleClickEventHandler Delegate
ChartEvents_BeforeRightClickEventHandler Delegate
ChartEvents_CalculateEventHandler Delegate
ChartEvents_DeactivateEventHandler Delegate
ChartEvents_DragOverEventHandler Delegate
ChartEvents_DragPlotEventHandler Delegate
ChartEvents_Event Interface
ChartEvents_MouseDownEventHandler Delegate
ChartEvents_MouseMoveEventHandler Delegate
ChartEvents_MouseUpEventHandler Delegate
ChartEvents_ResizeEventHandler Delegate
ChartEvents_SelectEventHandler Delegate
ChartEvents_SeriesChangeEventHandler Delegate using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection; namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
StartExcelAndSinkEvents();
} //Excel Automation variables:
Excel.Application xlApp;
Excel.Workbook xlBook;
Excel.Worksheet xlSheet1, xlSheet2, xlSheet3;
//Excel event delegate variables:
Excel.AppEvents_WorkbookBeforeCloseEventHandler EventDel_BeforeBookClose;
Excel.DocEvents_ChangeEventHandler EventDel_CellsChange;
Excel.DocEvents_BeforeRightClickEventHandler Event_RightClick;
private void StartExcelAndSinkEvents()
{
//Start Excel, and then create a new workbook.
xlApp = new Excel.Application();
xlBook = xlApp.Workbooks.Open(@"C:\Users\Administrator.PC-20150725BXRI\Desktop\新建 Microsoft Excel 工作表.xlsx");//.Add();
xlBook.Windows.get_Item().Caption = "XL Event Test";
xlSheet1 = (Excel.Worksheet)xlBook.Worksheets.get_Item();
xlSheet2 = (Excel.Worksheet)xlBook.Worksheets.get_Item();
xlSheet3 = (Excel.Worksheet)xlBook.Worksheets.get_Item();
xlSheet1.Activate(); //Add an event handler for the WorkbookBeforeClose Event of the
//Application object.
EventDel_BeforeBookClose = new Excel.AppEvents_WorkbookBeforeCloseEventHandler(BeforeBookClose);
xlApp.WorkbookBeforeClose += EventDel_BeforeBookClose; //Add an event handler for the Change event of both worksheet objects.
EventDel_CellsChange = new Excel.DocEvents_ChangeEventHandler(CellsChange);
xlSheet1.Change += EventDel_CellsChange;
xlSheet2.Change += EventDel_CellsChange;
xlSheet3.Change += EventDel_CellsChange; Event_RightClick = new Excel.DocEvents_BeforeRightClickEventHandler(RightChange);
xlSheet1.BeforeRightClick += Event_RightClick;
xlSheet2.BeforeRightClick += Event_RightClick;
xlSheet3.BeforeRightClick += Event_RightClick; //Make Excel visible and give the user control.
xlApp.Visible = true;
xlApp.UserControl = true;
} private void CellsChange(Excel.Range Target)
{
//This is called when any cell on a worksheet is changed.
MessageBox.Show("Delegate: You Changed Cells " + Target.get_Address(Missing.Value, Missing.Value, Excel.XlReferenceStyle.xlA1, Missing.Value, Missing.Value) + " on " + Target.Worksheet.Name);
} private void RightChange(Excel.Range Target, ref bool bl)
{
MessageBox.Show(bl.ToString() + Target.get_Address());
} private void BeforeBookClose(Excel.Workbook Wb, ref bool Cancel)
{
//This is called when you choose to close the workbook in Excel.
//The event handlers are removed, and then the workbook is closed
//without saving the changes.
Wb.Saved = true; MessageBox.Show("Delegate: Closing the workbook and removing event handlers.");
xlSheet1.Change -= EventDel_CellsChange;
xlSheet2.Change -= EventDel_CellsChange;
xlSheet3.Change -= EventDel_CellsChange;
xlApp.WorkbookBeforeClose -= EventDel_BeforeBookClose;
}
}
}

最新文章

  1. JavaScript学习(零)前引
  2. [转载]LazyWriter(惰性写入器) 进程的作用
  3. 从刚刚「简书」平台的短暂异常,谈Nginx An error occurred报错~
  4. 东大OJ-一元三次方程解的个数
  5. ZOJ2587 Unique Attack(判定最小割唯一性)
  6. RPM包制作最简单样例
  7. 免费的SqlServer优化辅助工具:SqlOptimize (原创)
  8. MySql 小问题集合
  9. 运行safari提示:无法启动此程序,因为计算机中丢失 QTCF.dll
  10. Principal Components Regression, Pt.1: The Standard Method
  11. Java基础之枚举妙用
  12. 在没联网环境下,启动tomcat出错
  13. jQuery UI弹出新窗体
  14. delphi 多线程之 TEvent 和 TLightweightEvent
  15. Django:前后端分离后联调给前端传数据
  16. Redis 的线程模型
  17. UML 之 数据流图(DFD)
  18. 用logger在控制台打印信息
  19. JSON在Java中的使用(一)
  20. lintcode-206-区间求和 I

热门文章

  1. CSAPP阅读笔记-变长栈帧,缓冲区溢出攻击-来自第三章3.10的笔记-P192-P204
  2. 常见Http协议响应码
  3. bootstrap table 以及xEdittable的应用
  4. OpenCV文本图像的旋转矫正
  5. 1.http请求编程-->基础原理
  6. Spring 基础入门(一)
  7. IntelliJ IDEA 安装配置
  8. 冒泡排序——Python实现
  9. Google安装postman插件
  10. maven filter不起作用