如图:
对象模型是一组由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)中。