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

上传人:suns****4568 文档编号:91127364 上传时间:2019-06-26 格式:DOCX 页数:81 大小:753.38KB
返回 下载 相关 举报
从-.net-开发人员的角度理解-excel-对象模型_第1页
第1页 / 共81页
从-.net-开发人员的角度理解-excel-对象模型_第2页
第2页 / 共81页
从-.net-开发人员的角度理解-excel-对象模型_第3页
第3页 / 共81页
从-.net-开发人员的角度理解-excel-对象模型_第4页
第4页 / 共81页
从-.net-开发人员的角度理解-excel-对象模型_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《从-.net-开发人员的角度理解-excel-对象模型》由会员分享,可在线阅读,更多相关《从-.net-开发人员的角度理解-excel-对象模型(81页珍藏版)》请在金锄头文库上搜索。

1、从 .NET 开发人员的角度理解 Excel 对象模型 发布日期 : 10/27/2004 | 更新日期 : 10/27/2004Ken GetzMCW Technologies, LLC适用于:用于 Microsoft Office 系统的 Microsoft Visual Studio 工具Microsoft Office Excel 2003Microsoft Visual Studio .NET 2003摘要:讨论了 Microsoft Office Excel 2003 提供的一些对象,并且说明了如何使用它们通过用于 Microsoft Office 系统的 Microsoft Vi

2、sual Studio 工具来创建托管代码解决方案。重点主要是 Application、Workbook、Worksheet 和 Range 对象。Visual Basic .NET 和 Visual C# 代码示例演示了每个对象一些属性、方法和事件。 从 Microsoft 下载中心下载 ExcelObj.exe。本页内容简介Application 对象Workbook 类Worksheet 类Range 对象下期内容简介对于打算利用用于 Microsoft Office 系统的 Microsoft Visual Studio 工具的开发人员和想要仅仅使用 COM 自动化来控制 Micros

3、oft Office Excel 2003 应用程序的人来说,他们需要能够与 Excel 对象模型提供的对象进行交互。Excel 提供了数百个您可能想要与之交互的对象,但是您可以通过集中于这些可用的对象的一个非常小的子集来获得对象模型方面的一个良好的开端。这些对象包括: Application Workbook Worksheet Range 尽管不可能具体地量化,但是当您使用 Excel 时,大部分的工作将以这四个类以及它们的成员为核心。在本文档中,您将学会如何利用这些类中的每一个,另外,我们还会向您介绍每个类的一些属性、方法和事件。您也将会看到一些可以尝试的示例,这些示例演示了每个对象的一

4、些功能。提示总的说来,使用 Microsoft Visual Basic .NET 的开发人员在使用 Microsoft Office 对象时,相比于使用 Microsoft Visual C# 的开发人员来说要轻松得多,一个重要的原因在于:Visual Basic for Applications (VBA) 方法常包含可选参数,而 Visual Basic .NET 支持可选参数。C# 开发人员将发现他们必须为每个可选方法参数提供一个值,而 Visual Basic .NET 开发人员可以简单地使用命名的参数只提供他们需要的值。另外,C# 不支持带有参数的属性(除了索引器以外),然而,许多

5、 Excel 属性可以接受参数。您将会发现,对于 C# 开发人员来说,一些属性(例如可用于 VBA 和 Visual Basic .NET 的 Application.Range 属性)需要单独的访问器方法(get_Range 方法替换了 Range 属性)。在本文中,请注意这样的语言之间存在的差异。在大多数情况下,您将会发现 Excel 对象模型直接模拟其用户界面。不难猜想,Application 对象提供了封装整个应用程序的包装,并且每个 Workbook 对象都包含 Worksheet 对象的一个集合。其中,表示单元格的主要的抽象是 Range 对象,这使得您能够使用单个单元格或者单元格

6、组。下面的每个部分都将描述一个主要的 Excel 对象,挑选对象的特定成员来进行演示。由于可供研究的对象有数百个,所以不可能在这里对所有的对象进行深入的探讨:您将会得到足够的对象模型方面的知识来开始您的工作,并且可以使用 Excel 联机帮助来获得更详细的信息。提示 在本文中,您将看到 DirectCast 和 CType 方法的许多用途。其原因在于示例项目有自己的 OptionStrict 设置 这意味着 Visual Basic .NET 需要严格的类型转换。许多 Excel 方法和属性返回 Object 类型或者依赖于晚期绑定:例如,Application.ActiveSheet 属性返

7、回 Object,而不是您猜想的 Worksheet。因此,为了尽可能地进行严格的类型转换,示例启用了 Option Strict,并且显式地处理每种类型转换。(如果不在 Visual Basic .NET 中使用 Option Strict,您编写的代码可能编译良好,但是会在运行时失败。这就是 Option Strict 意义所在 它大大减少了非法转换在运行时产生异常的可能性)。如果您是一名正在阅读本文档的 C# 开发人员,您可能会赞赏这种决定。 这本白皮书引用了示例项目 ExcelObjectModel.sln。这个项目包含一个 Excel 工作簿以及相关的 Visual Basic .N

8、ET 代码。并不是本文中展示的每个示例都出现在这个示例项目中,但是需要多于一行或两行代码的任何示例都放到了工作簿中,并且在项目内设置了调用代码的超级链接。 提示 在这篇篇幅有限的文章中,不可能对每个对象或成员进行注解。甚至不可能提及这些类中的一小部分。研究任何大型对象模型最好的工具是 Object Browser 窗口,其中,您可以找到每个类的列表、以及该类的成员。您将会发现,在本文档中讨论的许多类成员适用于许多其他不同的类:例如,在 Sheets 集合的上下文中讨论的 PrintOut 方法同样适用于 Chart、Worksheet、Range 和其他的对象。本文档旨在让您知道什么是可用的,

9、而剩下的东西要靠您好奇的本性来挖掘了。返回页首Application 对象Excel Application 对象代表 Excel 应用程序本身。这可能听起来是显而易见的,但是 Application 对象公开了大量关于运行时应用程序、应用到该实例的一些选项、以及在该实例内打开的当前用户对象的信息。Application 对象提供了许多成员,其中的许多成员您从来都不需要研究,但是其他的一些成员对于您的应用程序的行为是否正确至关紧要。您可以将这些成员分为以下种类: 在 Excel 中控制状态和显示的成员 返回对象的成员 执行操作的成员 处理文件操作的成员 其他成员 下面几部分介绍了这些组中的每一

10、个、以及演示一些成员的代码示例。在 Excel 中控制状态和显示的成员Application 对象提供了一个大的属性集来控制 Excel 的一般状态。表 1 列出了与状态有关的 Application 对象属性的一个子集。表 1. 一些控制 Excel 的状态的 Application 属性 属性类型说明CursorXlMousePointer (xlDefault, xlIBeam, xlNorthwestArrow, xlWait)获取或设置鼠标指针的外观。EditDirectlyInCell布尔值直接就地获取或设置编辑单元格的能力。如果为 False,则您只能在公式栏中编辑单元格。Fix

11、edDecimal布尔值如果为 True,则所有的数字值都使用 FixedDecimalPlaces 属性来确定小数位数;否则将忽略 FixedDecimalPlaces 属性(默认值为 False)。FixedDecimalPlacesLong确定用于数值数据的小数位数(如果 FixedDecimal 属性为 True)。Interactive布尔值获取或设置用户通过键盘和鼠标与 Excel 交互的能力;如果将此属性设置成 False,则一定要确保在异常处理程序中将其重新设置成 True。Excel 不会自动为您重新设置它。MoveAfterReturn布尔值如果为 True,则当您按下 E

12、nter 键时,选择会移到下一个单元格;默认值为 True。MoveAfterReturnDirectionxlDirection (xlDown, xlToLeft, xlToRight, xlUp)指示在按下 Enter 键之后移动的方向(如果 MoveAfterReturn 属性为 True)。默认值为 xlDown。ScreenUpdating布尔值如果为 True,Excel 就会在每个方法调用之后更新其屏幕。为了节省时间并且使您的应用程序看起来更加专业,您可以在代码运行时关掉显示。一旦完成,就一定要再次将此属性值重新设置为 True。Excel 不会自动为您重新设置它。Sheets

13、InNewWorkbookLong获取或设置 Excel 自动放置在新的工作簿中的工作表的数目。StandardFont字符串获取或设置 Excel 中默认字体的名称;只有在重新启动 Excel 之后才会生效。StandardFontSizeLong获取或设置 Excel 中默认字体的大小;只有在重新启动 Excel 之后才会生效。StartupPath(只读)字符串返回包含 Excel 启动加载项的文件夹的完整路径。TemplatesPath(只读)字符串返回包含模板的文件夹的完整路径;此值代表着一个 Windows 特殊文件夹。在表 1 所列出的所有属性中,您最可能使用的一个属性是 Scr

14、eenUpdating 属性。通过利用这个属性,您不但可以使您的 Excel 应用程序看起来更加专业,还可以使它们运行得更快 在每次修改后更新显示会严重影响代码的运行效率,特别是在大范围中通过编程方式填写时。然而,重要的是,当您完成您的工作时始终要设置这个属性,因为 Excel 不会为您重新设置它。因此,当使用 ScreenUpdating 属性时,您将需要始终使用如下代码片段,并且利用 .NET 异常处理来确保屏幕更新恢复: Visual BasicTry ThisApplication.ScreenUpdating = False Do your work that updates the

15、 screen.Finally ThisApplication.ScreenUpdating = TrueEnd Try/ C#try ThisApplication.ScreenUpdating = false; / Do your work that updates the screen.finally ThisApplication.ScreenUpdating = true;Application 对象还提供了一组控制 Excel 中的显示的属性。您可以修改这些属性中的任何一个来改变用户在屏幕上所看到的内容。表 2 列出了可用的显示选项的一个子集。表 2 一些控制 Excel 的外观的 Application 属性 属性类型说明DisplayAlerts布尔值如果为 True(默认值),则当运行代码时,只要有必要(例如在删除一个工作表时),Excel 就会显示警告消息。设置为 False 以忽略警告。Excel 的行为就好像您已经为每个警告选择了默认值。DisplayFormulaBar布尔值如果为 True(默认值),Excel 就会显示标准公式栏以编辑单元格;设置为 False 以隐藏公式栏。Display

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号