注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Kandy

长风破浪会有时,直挂云帆济沧海!

 
 
 

日志

 
 

用VSTO创建Office解决方案  

2009-07-07 17:30:50|  分类: VSTO |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

当你创建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并不支持这种做法。

  评论这张
 
阅读(331)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017