用VSTO创建Office解决方案

 

用VSTO创建Office解决方案

当你创建VSTO解决方案时,你是在Visual Studio IDE里开始的。这里,你可以选择为Word或Excel创建文档或模板解决方案,或者为Outlook创建插件解决方案。如果你创建Outlook插件,它将对整个Outlook应用程序可用。如果你选择创建Word或者Excel文档,则代码仅对该文档可用。如果你选择Word或者Excel模板,代码会对任何用该模板创建的文档可用。

当你用VSTO创建Word或者Excel定制程序时,你可以在Visual Studio里访问完整的Word或者Excel应用程序和对象模型。当你创建插件时,你可以通过Application对象访问应用程序里的所有对象,但你不能在Visual Studio里直接访问应用程序。

你为文档级别的VSTO解决方案写的代码是储存在与文档相关联的代码文件里的。这通常称为代码隐藏文件(code-behind file),因为代码是以程序集的形式而不是VBA那样的内嵌代码在后台提供文档的功能的。当代码文件编译成程序集(DLL)时,它就与文档关联起来了。编译后的代码仅在文档级别可见(在应用程序级别不可见)。

你也可以创建基于Excel模板或者Word模板的VSTO解决方案。如果是那样的话,每当基于那个模板的文档打开时,你的VSTO定制程序的代码将会运行。你不能用VSTO为Word 2003和Excel 2003创建应用程序级别的定制程序,然而,你可以用VSTO 2005 SE为多个Office应用程序(包括Word 2003和Excel 2003)创建应用程序级别的插件。

用VSTO和VSTO 2005 SE创建的应用程序级别的插件会在应用程序启动时加载,在应用程序关闭时卸载。用户也可以手动加载和卸载插件。你可以创建插件来定制你的应用程序的用户界面,例如在Excel 2003里添加新的菜单或者菜单项,在Word 2007的功能区里添加按钮,或者在某个应用程序事件触发时执行特定操作。

使用VBA,你可以通过在全局模板里添加代码为Word创建应用程序级别的定制程序。这可能是Normal.dot模板,或者你存放在启动目录里从而使之对应用程序全局可见的自定义模板。VSTO并不支持这种做法,因为VSTO创建的定制程序仅对单个文档而不是在Word里打开的每个文档有效。如果你用Word模板创建VSTO定制程序,然后把它存放在启动目录里,与该模板相关联的定制程序代码并不对所有打开的文档可用,它仅在基于该模板的文档打开时运行。如果你想为Word创建应用程序级别的定制程序,你应该用VSTO 2005 SE创建插件项目。

当你用VBA定制Excel时,你可以使用Excel插件文件(.xla文件)的应用程序级别的插件。然而,你不能创建使用现存.xla文件的VSTO解决方案,因为项目创建的过程并不支持这种文件。虽然你可以创建一个Excel的VSTO解决方案,然后把文件保存成运行定制程序代码的.xla文件,但Microsoft并不支持这种做法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值