VSTO开发的目的,是用C#语言操作和控制Office对象。可以使用一般的Windows窗体应用程序来访问Office对象,也可以编写Office外接程序和文档自定义项。Windows窗体应用程序比较简单,也是基础,先对该知识点进行一番总结。 如何创建可以访问Excel对象的C#窗体应用程序呢? 添加Excel对象引用一般,VS中创建的C#程序是独立的程序,和office没有任何关系。想要操作具体的office套件l对象,必须先为项目添加关于Office套件的引用,若无引用,C#代码中无法操作office的对象成员。 例如,要访问Excel对象,需要在VS中先添加引用:【项目/添加引用】,在“引用管理器”对话框中,单击【程序集/扩展】,找到“Microsoft.Office.Interop.Excel”,根据Excel版本勾选对应的版本,例如Excel 2010对应的版本号为“14.0.0.0”,单击“确定”。 添加Office对象引用操作Excel对象时,可能会用到Office对象中的Commandbar、FileDialog等对象,可以进一步为项目添加Office对象的引用:打开“引用管理器”对话框,单击【COM/类型库】,勾选“Microsoft Office 14.0 Object Library”。 “确定”后,在项目资源管理器的引用管理下可以看到上述两项引用。此时,就可以正式在VS的C#项目中操作Excel对象了。 获取正在运行的Excel对象为了方便后续的调用,可以在类模块的顶部加入引用时定义简称或别名:
有了前面的引用,接下来就可以在C#代码中获取正在运行的Excel对象了:
通过GetActiveObject函数来获取正在运行的Excel应用程序,实例化ExcelApp。 创建新的Excel对象如果电脑上没有打开的Excel应用程序,可以自行创建Excel对象。创建方式很简单:
Application对象常用方法和属性常用方法示例:
常用属性示例:
以上介绍了操作Excel对象的方法,类似地还可以操作Excel中的Workbook、Worksheet、Range、Commandbar,还可以操作VBE工程,创建Excel自定义函数等等。总之,添加Excel和Office引用后,可以利用C#扩展出很多自定义功能。 |
|