Excel Events
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的更多相关文章
- 用laravel Maatwebsite\Excel 教你导出漂亮的Excel表单
先来看效果图 还算是漂亮吧 哈哈哈. 第一步当然是安装包咯 环境要求 PHP: ^7.0Laravel: ^5.5 composer require maatwebsite/excel 目前3.1 只 ...
- VBA 获取Sheet最大行
compared all possibilities with a long test sheet: 0,140625 sec for lastrow = calcws.Cells.Find(&quo ...
- 基于SXSSF (Streaming Usermodel API)的写文件
在POI3.8中SXSSF仅仅支持excel2007格式是对XSSF的一种流的扩展.目的在生成excel时候,需要生成大量的数据的时候,通过刷新的方式将excel内存信息刷新到硬盘的方式,提供写入数据 ...
- POI解决内存溢出问题
在POI3.8中SXSSF仅仅支持excel2007格式是对XSSF的一种流的扩展.目的在生成excel时候,需要生成大量的数据的时候,通过刷新的方式将excel内存信息刷新到硬盘的方式,提供写入数据 ...
- 浅谈Excel开发:五 Excel RTD函数
上文介绍了Excel中的UDF函数,本文介绍一下同样重要的RTD函数.从Excel 2002开始,Excel引入了一种新的查看和更新实时数据的机制,即real-time data简称RTD函数 ...
- Flex导出excel报表
sheetToExcel.java 1 package tree; 2 import java.io.BufferedInputStream; 3 import java.io.File; 4 imp ...
- js 导出Excel
最近从Silverlight这边转到javascript过来,现在要导出一个导出excel的功能.上级领导指示当页显示多少数据,就导出多少数据,没有必要从后台在去数据.以前也没有接触过这方面的,在网上 ...
- [Flex] as3xls读取excel,修改保存单表(二)
这个方法仅用了as3xls读取excel的功能,修改保存独立出来了. <?xml version="1.0" encoding="utf-8"?> ...
- [Flex] as3xls读取excel,修改保存单表(一)
经过大神修改过的as3xls支持中文,并可以修改保存单一sheet,保存后原有的excel样式均会消失,目前仅能如此. <?xml version="1.0" encodin ...
随机推荐
- day2-模块初识之路径问题
sys需要调用my_test,但是不在同一目录 会出现如下错误 具体办法:1.将my_test.py放到文件夹下 附:sys.py 和my-test.py具体代码 enumerate 重点:浅复制(用 ...
- linux下,matplotlib遇到的相关问题以及解决方法
1.在linux下运行matplotlib程序时,matplotlib的安装. 根据不同的linux系统继续相关安装: Debian / Ubuntu : sudo apt-get install p ...
- 【随笔】nginx重启问题和mysql挂了的解决办法
租了一个阿里云服务器,然后需要一个nginx来处理一下静态文件的访问和动态文件的转发,头一天没有什么问题,第二次打开,各种问题就出来了!解决方法记录一下.... Can't connect to lo ...
- Android文字识别之tesseract的使用
关于tesseract识别工具有Google提供的版本有tesseract-android-tools,不过还有一个tesseract-two也是非常好用的,这里我们使用的是tesseract-two ...
- pointer-events属性值详解
其实早知道这个属性,但是一直没有去研究过.今天正好在twitter看到这个词,就去研究了下,正好解决了目前遇到的一个小难题,所以分享下.嗯,其实这是个比较简单的CSS3属性. 在某个项目中,很多元素需 ...
- unity物理学材质Physic Material
物理材料 切换到脚本 在物理学材料是用来调整摩擦和碰撞对象的反弹效应. 要创建物理材质,请从菜单栏中选择“ 资源”>“创建”>“物理材质 ”.然后将“物理材质”从“项目视图”拖动到场景 ...
- C# 获取SHA256码
1. 如果是要获得某个字符串的SHA256,代码如下: public static string SHA256(string str) { //如果str有中文,不同Encoding的sha是不同的! ...
- ACS蚁群算法求解对称TSP旅行商问题的JavaScript实现
本来以为在了解蚁群算法的基础上实现这道奇怪的算法题并不难,结果实际上大相径庭啊.做了近三天时间,才改成现在这能勉强拿的出手的模样.由于公式都是图片,暂且以截图代替那部分内容吧,mark一记. 1 蚁群 ...
- master.sys.sysprocesses相关内容
sysprocesses 表中保存关于运行在 Microsoft® SQL Server™ 上的进程的信息.这些进程可以是客户端进程或系统进程. sysprocesses 只存储在 master 数据 ...
- Asp.net core如何使用Session
转自:https://tahirnaushad.com/2017/08/18/asp-net-core-session-state/ Asp.net core使用session: 在nuget 安装M ...