VSTO学习笔记-一-VSTO概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VSTO学习笔记(一)VSTO概述
一、什么是VSTO?
VSTO = Visual Studo Tools for Office,是.net平台下的Office开发技术。相对于传统的VBA(Visual Basic Application)开发,VSTO为中高级开发人员提供了更加强大的开发平台和语言,并部分解决了传统Office开发中的诸多问题(难于更新、可扩展性差、难以维护、安全性低等),开发人员可以使用熟悉的技术来构建更加灵活的、强大的、跨平台的企业级解决方案。
二、为什么要进行Office开发?
Office拥有强大的数据分析、显示和计算能力,尤其在桌面领域,已经成为了办公自动化的行业标准。虽然Office功能强大,但是也不可能满足各行各业的特定需求,如果能够借助于Office构建企业的个性需求,那将十分具有吸引力。这样,在不需要其他专业软件的情况下,就可能完成既定的目标。
三、Office开发简史
1、VBA(Visual Basic Application)
微软提出的第一种Office开发解决方案就是VBA,在20世纪九十年代VBA红极一时,借助于当时如日中天的Visual Basic,VBA取得了巨大的成功,无论是专业的开发人员,还是刚入门的非开发人员,都可以利用VBA完成简单或复杂的需求。但是VBA本身拥有很多的局限性,VB语言虽然简单,但是其语法令中高级开发人员不太适应,尤其是VBA的开发环境过于简单,缺少与时俱进的高级功能,使得VBA开发陷入了瓶颈。
2、VSTO 1.0(VSTO 2003)
时光跨入21世纪,微软发布了.net平台,并推出了新千年的新语言:C#,VBA一统Office开发天下的情况终于有所转变。从Office 2003开始,Office正式由一个桌面办公平台转化为了桌面开发平台,微软也适时推出了VSTO 2003,即VSTO 1.0。正是由此开始,Office开发跨入了一个新的时代,开发人员可以使用更加高级的语言和熟悉的技术来更容易的进行Office开发。VSTO 1.0完全编程支持Office 2000和Office XP,提供了以文档为中心的开发平台,开发人员使用.net framework 1.1开发Office中的一些自动化程序等。
3、VSTO 2.0(VSTO 2005 SE)
VSTO 2.0随同Visual Studio 2005推出,提供了大量新特性:
1.提供了新的文档模板
2.对Word、Excel的可视化支持
3.可以使用托管的Windows Forms控件或组件
4.宿主控件(不知道翻译的怎样:))
5.支持在文档中添加智能标签
6.动作面板支持
7.数据绑定、数据源、数据模型支持
8.数据缓存
9.服务器端编程
10.配置文件
11.新的部署方式
Path开始支持托管代码
13.与众不同的Outlook 托管插件
4、VSTO 3.0(VSTO 2008)
VSTO 3.0随同Visual Studio 2008发布:
对于Office解决方案开发来说,VSTO是简单但强大的框架。这个框架为每个Office开发者带来了许多令人惊叹的好处:窗体控件、类、安全性、服务器可测量性、面向对象特征、完整性、易发布,等等。
1)、更安全的托管代码扩展
VSTO允许托管和非托管代码无缝地放在一起到相同的.NET程序集里,这允许开发者保留非托管代码而无须完全重写。带有或引用托管代码程序集的文档或工作簿被作为托管代码扩展。通过使用VSTO在Word或Excel中创建托管代码扩展,与宏相似但更安全。使用VSTO,能够创建仅需要装载数据的模板。
2)、数据缓存
数据缓存,简单地说,就是在存中存储数据以便于快速访问。Microsoft Office Word文档或Excel工作簿有一个隐藏的控件,称之为运行时存储控件(Runtime Storage Control),存储缓存的数据。VSTO提供数据缓存功能,使用C#中的ServerDocument类,通过应用程序外部到Office来操控数据缓存,无须访问Word 或Excel对象模型。
3)、自定义功能
使用可重复使用的类,VSTO 3.0提供极好的控制来自定义Office应用程序。不像VBA开发者,VSTO开发者不局限于VBA函数库。VSTO提供了相当广泛的类、对象和事件来创建Office商业解决方案。使用VSTO,开发者能够为Office应用程序自定义功能。这能够简单到在应用程序命令栏中添加按钮或自定义任务窗格,或者复杂到用于访问不同数据源的数据报表模板。
4)、自定义用户界面
VSTO提供Windows窗体控件,帮助你为Office解决方案开发富用户界面(UI)。通过使用大量各种各样的控件集,VSTO开发者能够为用户创建丰富的数据视图。每种和每类Windows窗体控件都有自已的属性、方法和事件设置,适合不同的需要。
通过在文档和任务窗格里使用控件,VSTO使创建丰富的用户界面更容易。例如,可以创建一个活泼的按钮命令产生套用信函。又如,假设公司在其服务器上存储了数据容,用户在处理文档时想从服务器中引用一些容并且不想离开当前编辑的
文档,使用VSTO可以使服务器容在文档的任务窗格中可用而无须干扰用户当前的工作。
5)、智能标记
智能标记是Office应用程序能够在文档里识别的字符串。启用智能标记,Word 试图识别文档中某类数据,通过紫色的点划线来显示。单击智能标记,出现特定数据类型的可能操作的列表。VSTO给Office开发者提供了对象模型,可用于为文档和工作簿创建智能标记。
6)、WPF支持
WPF能用于创建丰富的、具有吸引力的外观。在VSTO环境中可使用WPF。VSTO 的可视设计器支持Windows窗体和WPF控件的使用。WPF为创建基于客户和基于网络的应用程序提供了可靠的编程模型,并且在商务逻辑和UI之间呈现清楚的分离。
7)、可视化的设计器
VSTO为Office应用程序提供了可视化的设计器,例如Word 2007、Excel 2007,显示在Visual Studio IDE里。在Visual Studio IDE里创建窗体只需拖动并放置窗体到Office文档中。开发者能够访问Visual Studio IDE中的许多工具和功能,例如智能感知、拖放控件和数据源。VSTO也提供了Ribbon可视化设计器,用于通过使用简单的.NET应用程序编程模型自定义Office功能区和编程。8)、安全改进
VSTO安全模型包含从Office信任中心和Visual Studio Tools for Office运行时的广泛支持,帮助解决VBA代码通常涉及的安全问题。VBA安全模型有许多缺点,容易使用VBA开发许多病毒。为了安全地运行VBA宏,用户机器中必须设置安全性为高,并且使用数字签名。更重要的是,这些操作都需要用户手工执行。在VSTO 3.0中,已经修改了安全模型。VSTO创建了安全策略,每次创建工程时必需在计算机中运行和调试解决方案,在发布前签署程序集。
9)、可维护性
为Office系统开发的VSTO解决方案更容易维护。更新已发布的解决方案,修改代码,以及更新单个的程序集将帮助更多的资源在相同文档的多个副本里做相同的事情。所有代码将驻留在程序集里。在使用宏时,脚本驻留在Office文档里,无论何时想更新代码,必须修改每一个包含代码的文档。使用VSTO 3.0,能够通过简单地修改代码和更新单个的程序集来管理应用程序级加载项,无须在相同文档的多个副本中做同样的事情。
VSTO 3.0的新功能
VSTO 3.0具有大量的新功能,也增强了现有的关键功能。下面列出在VSTO 3.0中可用的改进Office解决方案开发工作的一些关键的新功能:
•文档级的定制:文档级的定制是自定义驻留在单个文档里的解决方案。
使用VSTO的文档级定制是新版VSTO中添加的关键功能之一。VSTO支持
Word、Excel、InfoPath的文档级解决方案。