1 / 15
文档名称:

从net开发人员的角度理解excel对象模型三.doc

格式:doc   大小:322KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

从net开发人员的角度理解excel对象模型三.doc

上传人:zhongxinado 2021/1/6 文件大小:322 KB

下载得到文件列表

从net开发人员的角度理解excel对象模型三.doc

文档介绍

文档介绍:从 NET开发人员的角度理解Excel对象模型 三
 
(三)2010-05-05 10:24Application事件
除了Application类提供的所有其他方法之外,您还将发现有一大组事件可用。虽然不可能以任何一种一致的方式演示所有事件,但是单单根据名称,就可以比较清楚地知道它们的用途。下面几部分描述了这些事件的一个子集,并讨论了在您自己的应用程序中最可能使用的事件。
。通常,.NET事件处理程序总是接收Object变量(该变量引用引发事件的对象)和第二个参数(该参数从EventArgs基类继承而来,包含关于事件的额外信息)。没有这样定义良好的事件设计模式用于Office应用程序,因此每个事件处理程序都接受任意数目的参数(由最初的开发人员定义)。
表行为
Application对象提供了各种与表(包括图表和工作表)相关的事件。下面的列表包含关于许多这样的事件的信息:
当任何一个表被激活时,SheetActivate都会发生。Excel将一个包含对被激活的表的引用的Object变量传递给事件处理程序。
提示正如Excel中传递一个引用表的Object的任何情况一样,在可以使用这个引用之前,您需要将引用强制转换成一个正确类型(Worksheet或Chart,视具体的情况而定)的变量。然而,如果您已经禁用了Visual Strict设置,您可以利用晚期绑定。在您键入时,您将仍然不能利用IntelliSense,这使得编写代码变得更加困难。本文档中所有在Sheets集合内使用项的示例都显式地将结果强制转换成所需要的特定类型的表(Worksheet或Chart)。
在Excel提供默认的双击处理之前,当任何表被双击时,SheetBeforeDoubleClick都会发生。Excel将下列参数传递给事件处理程序:一个包含对表的引用的Object变量、一个包含离双击位置最近的单元格的Range对象、一个允许您取消默认事件处理的Boolean值(默认为False)。(此事件没有出现在图表中。)
提示所有在它们的名称中包括单词"Before"的事件都允许您取消默认的事件处理。传递给您的事件处理程序的参数通常名为Cancle,具有默认值False。如果将这个参数设置为True,Excel将不会执行事件的默认处理。
在Excel提供默认的右键单击处理之前,当任何表被右键单击时,SheetBeforeRightClick都会发生。Exce将下列参数传递给事件处理程序:一个包含对表的引用的Object变量、一个包含离右击位置最近的单元格的Range对象、一个允许您取消默认事件处理的Boolean值(默认为False)。(此事件没有出现在图表中。)
当任何表被重新计算时,SheetCalculate都会出现。Excel将一个包含对重新计算的表的引用的Object传递给事件处理程序。
当任何工作表中的单元格发生变化(通过用户或者通过运行代码)时,SheetChange都会发生。Excel将一个Object变量(包含对表的引用)和一个Range变量(引用改变的范围)传递给事件处理程序。
当任何表单被停用时(即当它不再有焦点时),SheetDeactivate都会发生。只有当焦点转移到同一工作簿内的另一个表时,这个事件处理程序才会运行。Excel将一个包含对已经停用的表的引用的Object变量传递给事件处理程序。
当您单击任何工作簿内的任何超级链接时,SheetFollowHyperlink都会发生。Excel将一个引用包含此链接的表的Object变量和一个包含对您所单击的链接的引用的Hyperlink对象传递给事件处理程序。(示例项目使用了这个事件,从而在示例内提供了导航。)
当工作表上的选择改变时,SheetSelectionChange会发生(该事件没有出现在图表中)。Excel将一个引用选择发生改变的表的Object变量和一个引用新选择的Range变量传递给事件处理程序。(注意,在最初的选择发生改变之前,Excel没有传递关于最初的选择的信息。)
注这一部分中的每个事件也可用作Workbook类提供的事件。如果该事件是由Application对象提供的,则它可以被Excel内当前打开的任何一个表引发。当它是由Workbook对象提供的,则该事件只有在它影响特定工作簿中的一个表时才会发生。此外,您还将发现Worksheet类提供的相同事件。在这种情况下,事件名不包含单词"Sheet"(例如,您将会找到FollowHyperlink