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

Excel Events的更多相关文章

  1. 用laravel Maatwebsite\Excel 教你导出漂亮的Excel表单

    先来看效果图 还算是漂亮吧 哈哈哈. 第一步当然是安装包咯 环境要求 PHP: ^7.0Laravel: ^5.5 composer require maatwebsite/excel 目前3.1 只 ...

  2. VBA 获取Sheet最大行

    compared all possibilities with a long test sheet: 0,140625 sec for lastrow = calcws.Cells.Find(&quo ...

  3. 基于SXSSF (Streaming Usermodel API)的写文件

    在POI3.8中SXSSF仅仅支持excel2007格式是对XSSF的一种流的扩展.目的在生成excel时候,需要生成大量的数据的时候,通过刷新的方式将excel内存信息刷新到硬盘的方式,提供写入数据 ...

  4. POI解决内存溢出问题

    在POI3.8中SXSSF仅仅支持excel2007格式是对XSSF的一种流的扩展.目的在生成excel时候,需要生成大量的数据的时候,通过刷新的方式将excel内存信息刷新到硬盘的方式,提供写入数据 ...

  5. 浅谈Excel开发:五 Excel RTD函数

        上文介绍了Excel中的UDF函数,本文介绍一下同样重要的RTD函数.从Excel 2002开始,Excel引入了一种新的查看和更新实时数据的机制,即real-time data简称RTD函数 ...

  6. Flex导出excel报表

    sheetToExcel.java 1 package tree; 2 import java.io.BufferedInputStream; 3 import java.io.File; 4 imp ...

  7. js 导出Excel

    最近从Silverlight这边转到javascript过来,现在要导出一个导出excel的功能.上级领导指示当页显示多少数据,就导出多少数据,没有必要从后台在去数据.以前也没有接触过这方面的,在网上 ...

  8. [Flex] as3xls读取excel,修改保存单表(二)

    这个方法仅用了as3xls读取excel的功能,修改保存独立出来了. <?xml version="1.0" encoding="utf-8"?> ...

  9. [Flex] as3xls读取excel,修改保存单表(一)

    经过大神修改过的as3xls支持中文,并可以修改保存单一sheet,保存后原有的excel样式均会消失,目前仅能如此. <?xml version="1.0" encodin ...

随机推荐

  1. (转)MySQL- 5.7 sys schema笔记,mysql-schema

    原文:http://www.bkjia.com/Mysql/1222405.html http://www.ywnds.com/?p=5045 performance_schema提供监控策略及大量监 ...

  2. Python实现WEB QQ 登录与消息发送(第一版本 2015.06.26)

    WEB QQ的登录步骤与协议,需要的度娘下,很多. 转载说明来源:http://www.cnblogs.com/ryhan/p/4602762.html 我这实现是参考了度娘搜的 和自己抓包分析的. ...

  3. IDEA里运行代码时出现Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger的解决办法(图文详解)

    不多说,直接上干货! 问题详情 运行出现log4j的问题 -classpath "C:\Program Files\Java\jdk1.8.0_66\jre\lib\charsets.jar ...

  4. Java入门系列-13-String 和 StringBuffer

    这篇文章带你学会字符串的日常操作 String类 字符串在日常生活中无处不在,所以掌握字符串的使用至关重要. 使用 String 对象存储字符串,String 类位于 java.lang 包中,jav ...

  5. Linux文件夹和文件创建删除命令

    Linux删除文件夹命令 linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可.直接rm就可以了,不过要加两个参数-rf 即:rm ...

  6. Change - Why we need coding standards

    Change - Why we need coding standards I have the idea of coding standards when I have to review my t ...

  7. java类与对象基础--抽象类和接口

    在java的类体系中,有两个比较特殊的抽象体--抽象类和接口.抽象体并不可以拥有具体的对象(而且接口甚至不是类),但是它们却是在java设计领域非常重要的两个概念,很多优秀的设计模式都是基于这两个概念 ...

  8. [shell]管理 Sphinx 启动|停止|重新生成索引的脚本

    对于启动sphinx的服务,可以直接输入如下命令 /usr/bin/searchd -c /etc/sphinx/sphinx.conf <!-- /usr/local/bin/searchd  ...

  9. No.2一步步学习vuejs 实例demo篇

    简单应用Vue.js 的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统: <div id="app"> {{ message }} </d ...

  10. ECharts显示百分比(小数转百分比)

    后台数据传递给前端是小数格式,例如:0.2248 前端显示要求为:22.48% 方法,设置tooltip.formatter和yAxis.axisLabel.formatter,两个分别是提示语格式化 ...