vsto

更新时间:2024-01-05 20:27:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

二、Excel对象模型

对象模型是一组由Office应用程序提供的对象,用来控制Office应用程序,是VSTO开发的核心内容。其中Application是最顶层的对象,负责对Office进行整体的控制,类似于.Net WinForm和WPF中的Application对象,是根对象。Workbook(s)指工作簿,Worksheet(s)指工作表,Chart(s)指各种图表。Sheets对象比较特别,它包含Worksheet或Chart类型的对象,而Range表示希望操作的单元格范围。

三、主互调程序集(PIA)

用于与Office交互的托管程序集叫做Office主互调程序集(PIA)。 PIA = Primary Interop Assemblies

通常应用一种被称为COM Interop的.Net技术与Office对象模型进行交互,所有的Office对象都是用非托管代码(C、C++)编写的,并提供COM接口。为了在托管代码中与这些接口进行通信,必须使用封装器,通过封装器来实现托管代码与Office非托管COM接口之间的协同工作。该封装器是一系列的.Net类,他

们被编译为PIA程序集。之所以PIA称之为\主\,是因为开发人员可以开发自己的封装器IA(Interop Assemblies),除非有非常特殊的需求,否则不建议使用自己的IA,因为这不能够与其他的Office解决方案进行交互,而且有可能包含Office已经修复的bug。

安装相应的Office版本后就会安装PIA了,如果要开发VSTO 4.0,建议安装Office 2010 Professional Plus Beta。Office PIA被安装到GAC(GAC = Global Assembly Cache)中。

大部分VSTO项目会自动添加PIA,如果创建的是其他类型的项目(控制台、类库、WinForm、WPF等),则需要手动添加PIA。 说明 Microsoft Office 14.0 Object Library Microsoft Excel 14.0 Object Library Microsoft Word 14.0 Object Library Microsoft Outlook 14.0 Object Library Microsoft Graph 14.0 Object Library Microsoft.SmartTags 2.0 Type Library 程序集名称 Office.dll Microsoft.Office.Interop.Excel.dll Microsoft.Office.Interop. Word.dll Microsoft.Office.Interop. Outlook.dll Microsoft.Office.Interop. Graph.dll Microsoft.Office.Interop.SmartTag.dll 命名空间 Microsoft.Office.Core Microsoft.Office.Interop.Excel Microsoft.Office.Interop. Word Microsoft.Office.Interop. Outlook Microsoft.Office.Interop. Graph Microsoft.Office.Interop.SmartTag

当PIA之间有依赖关系时,VS2010会自动添加必须的PIA。

四、Office解决方案

1、Office自动化程序(Office Automation Executable)

Office自动化程序是独立于Office的程序,用于控制和自动化处理某个Office应用程序。如控制台、类库、WinForm、WPF等。 2、Office加载项(Add-In)

Office加载项是某个程序集(dll)中的类,Office在需要时可加载和创建它,加载项可以直接在Office应用程序的进程中运行,而不需要在独立于Office应用程序的进程中运行,加载项在Office应用程序的整个生命周期中均保持加载状态。

3、Office文档代码(Code Behind on Office Document)

Office文档代码早在VBA时代就已经得到了广泛的应用,在VSTO中得到了进一步的增强。Office文档代码可以用某种方式对Office应用程序进行定制,如增加只在当前文档中才出现的菜单项,或者在文档打开时触发事件。 4、Office 模板(Office Template)

使用托管代码创建相应的Office模板。 5、服务器文档模式(Server Document)

VSTO可以在不打开Office应用程序的情况下,在服务器端运行程序并对存放在Office文档中的数据进行操作,如VSTO的缓存数据功能,SharePoint 2007/ 2010的Excel Services等。 6、OpenXML模式

以OpenXML的API操作Office文档中的数据,结合XSLT等转换为需要的文档格式。关于OpenXML的介绍请参阅我博客的另外一个系列:OpenXML学习笔记。

五、Office文档代码示例

由于本次主要学习Excel对象模型,顾采用Office文档代码模式做几个简单的练习,其余模式后续篇章会陆续介绍。 1、新建一个Excel 2010 Workbook项目:

默认添加的引用和项目文件:

2、在Sheet1中添加两个Button和一个Label控件:

本文来源:https://www.bwwdw.com/article/5prx.html

Top