一般客户计算机专业水平不高,但是有一些Office水平相当了得,尤其对Excel的操作非常熟练。因此如果能将产品的一些功能集成在Office中,将会有很好的基础。
但是由于客户安装的Office版本不一,所以VSTO项目的部署问题显得尤为重要,需要考虑很多问题。
本系列所有测试代码均在Visual Studio 2010 Ultimate SP1 + Office 2010 Professional Plus x64 SP1 上测试通过
大致归纳一下,主要有以下一些情况:
1、Office版本不同
目前主要有Office 2003、Office 2007、Office 2010。
2、32位与64位的Office
目前只有Office 2010提供64位版本。
3、64位操作系统安装32位的Office
目前多出现在新上市的笔记本,很多都是Win7 64位,安装了Office 2007、2010 32位。
此外,不同VSTO项目的部署方式也不相同。主要有如下一些VSTO项目类型:
1、文档类型
如Word Document、Excel Workbook
2、AddIn类型
如Word AddIn、Excel AddIn
3、Shared AddIn类型
4、Excel自定义公式类型
下面我们就来逐个探讨一下相应的部署方案。
注意VS2010 只支持Office 2007、Office 2010,若要开发基于Office 2003的VSTO项目,请使用VS2005、VS2008。
一、待部署的项目是文档类型
1.1、使用VS 2010创建一个Excel Workbook项目:
1.2、选择Office 2007格式.xlsx:
1.3、在一个工作表中放置一个按钮:
1.4、在其单击事件中弹出一个对话框:
1.5、F5运行,会打开Excel,点击按钮弹出我们希望看到的信息:
1.6、在Debug目录下会发现生成了如下这些文件:
由于是文档类型,因此生成一个Excel工作簿很正常。有一个.vsto格式的文件很少见,它就是VSTO项目部署时的安装文件。
.vsto文件其实是一个XML文件,用文本编辑器打开可以看到具体内容:
包含了VSTO项目的具体信息,如.NET运行时版本,依赖的程序集,数字签名等信息,不要手动修改这个文件。
.NET运行时为4.0,所以客户端首先要安装.NET Framework 4.0。
.vsto的默认打开方式是Visual Studio Tools For Office Execution Engine:
该组件包含于Visual Studio Tools For Office 运行时,因此客户端若要运行VSTO程序,还需要安装Visual Studio Tools For Office 运行时。
Visual Studio 2010 Tools for Office Runtime 可以在这里下载。
1.7、我用了一个虚拟机模拟客户端,安装了.NET 4.0和Office 2010后就可以打开.vsto了:
1.8、安装成功后就可以打开Debug中的Excel文件了:
注意文档类型的VSTO项目安装后只对发布的一个文档有效(只对Debug中的Excel有效),不影响用户其他的Office文件,即文档类型项目不是全局性的。
1.9、在控制面板中可以将该VSTO项目卸载:
二、待部署的项目是Add In类型
2.1、新建一个Word Add In项目:
2.2、添加一个可视化Ribbon:
2.3、Ribbon中添加一个按钮:
2.4、单击弹出对话框:
2.5、F5运行后会打开Word:
2.6、在Debug目录中会生成一些文件:
2.7、客户端依旧需要安装.NET 4.0、Visual Studio 2010 Tools For Office Runtime才能运行该VSTO项目:
注意Add In 类型是全局性的,只要安装,用户随便打开一个Office文档都会包含该Add In。