先介绍一下Office,微软以此桌面应用的大亨

在始于上世纪90年间先前时期的互联网大潮淹没桌面应用往日,微软这多少个桌面应用的要员,引领着人们迈进一个又一个一时,当时的集团应用C/S架构为相对主流。进入新世纪后,蜂拥而上的是基于Web的采用,此时只要你还做依照C/S的集团应用,表明你曾经Out了!

上五回重高校习了VSTO的提升历史及其历代版本的新特性,概述了VSTO对开发人员的帮助和效率提高。从本次先导,将从VSTO
4.0起始,逐一啄磨VSTO开发中方方面面,本人接触VSTO时间不长,也是一次尝试。鉴于Excel在一切Office家族中的紧要地方,故先从Excel起初介绍,后续内容会陆续介绍Word、PowerPoint、Outlook、InfoPath等。由于VSTO
4.0起家在Office 2010基础之上,先介绍一下Office
2010的新特色,注意现行只是Beta版,正式版可能还会有效应上的调动。

Google的长足发展,让微软感受到前所未有的竞争压力,微软固然不大愿意认可,但实在是在互联网的一世,确实已经落伍了Google一大步。然则微软也确确实实有协调的难关,毕竟自己最赚钱的成品或者桌面的Office,即便也在私自(仅仅是揣度)拼命的追赶Google,把Google作为唯一真正的竞争对手,但桌面的应用不能遗弃,毕竟这是最大的客户群体,也是最来钱的东西,于是我们在2004年就听见如此的一个定义:智能客户端。鼓吹了一年,没来看什么效果,但是倘诺你用到了Exchange,而且你对微软的Outlook2003或上述版本相比熟识,你就会体会到什么叫做智能客户端了。严谨意义上讲,Outlook是微软第一款真正的智能客户端产品。Exchange是劳动器端,所有的情节如邮件、公共文件夹都存储在劳务器端,Outlook可以把温馨索要的始末,自动从劳动器端同步到客户端。

示范代码下载

微软的Sharepoint技术从2001的雏形,经过2003前行到2007版时,已经基本到位了微软的一个战略构想,就是把所有微软的客户端的office组件,通过一个号称Sharepoint的服务器产品融合起来,形成一套真正含义上的有着极大弹性的公司应用的化解方案。大家可以说,有了Sharepoint
server这么些基本,Office终于形成了一个完完全全的拼图,Office的各种组件,终于都变成了一个个智能客户端的出品,Excel就是里面的先锋,Sharepoint2007不仅提供了Excel服务,还有Form
service,就是从2003才有的Infopath组件。

本连串具有示例代码均在 Visual Studio 2010 Beta 2 + Office 2010 Beta
下测试通过

回想Office
2007的时候,有一个我们相当陌生的名字,Groove,我一贯不曾眷顾过,只是传闻这是一个用来协作的出品,更加不解,Sharepoint的初衷本身不就是协作么。当Office2010
揭橥Beta的时候,微软毕竟揭秘了谜底,那一个收购的产品专业的名字将从Groove改为Sharepoint
Workspace,是一个正规的sharepoint 的智能客户端,就像Exchange
和Outlook的关系一样。

 

回想二零零七年在京都参与一个Sharepoint的序列,客户有一个特别实际的要求,就是时刻需要将内网门户中的内容同步到台式机上,去和客户拓展连锁的讨价还价,由于内容的不确定性,所有当时兑现起来,有相当的难度,并且不便于形成一套完备的缓解方案,现在好了,有了Sharepoint
Workspace,终于可以周详的兑现这多少个需求了。

一、Office 2010新特性

 当Office2010业内披露的时候,我想微软对于智能客户端终于有了一个完全的传道,只是不理解在Sharepoint和Office这多少个系统之外,微软仍能搞出哪些花样!呵呵。

微软将于二零一零年3月份标准推出Office 2010。Office
2010带来了诸多先后改进,保持了Office
2007的XML文件格式,立异了Ribbon界面,并带动了遵照浏览器的Excel、Word、OneNote、PowerPoint作为Office网络应用服务,并第一次提供64位的Office。

 

  Office 2010打破了微软的观念,成为全球最有名的在线Office工具,Office
2010中的基于Web的效益是崭新的,因此可能会产出问题。由于对微软全新的Office在线体验有所怀疑的神态,即使有点公司计划购买Office
2010,不过还要也会利用免费的Google Docs和Zoho。

 

Office
Word 2010

Office
Word 2010 增强了 Navigation Pane 特性,用户可在 Navigation Pane
中高速切换至其他一章节的上马(按照题目样式判断),同时也可在输入框中举行即时寻找,包含关键词的章节标题会高亮显示。例如下图中的搜索
LiveSino.net:

图片 1

Office
Word 2010 也增添了在线实时协作效率,用户可以从 Office Word Web App
中启动 Word 2010
举行在线文档的编纂,并可在左下角看齐同时编制的其他用户(包括其他联系模式、IM
等消息,需要 Office Communicator)。而当其他用户修改了某处后,Word 2010
会指示当前用户展开同步。(注:此意义也存在于部分其他 Office 2010
程序中)

其余,用户可在
Office Word 2010, Office PowerPoint 2010 以及 Office OneNote 2010 等
Office 2010 程序中间接插入其他正在运行的软件的截图。

Office
Excel 2010

Office
Excel 2010 新增了 Sparklines
特性,可按照用户选拔的数码直接在单元格内画出折线图、柱状图等,并配有
斯帕克(Spark)(Spark)lines 设计面板供自定义样式。

图片 2

Office
PowerPoint 2010

Office
PowerPoint 2010
除了新增更多幻灯片切换特效、图片处理特效之外,还扩充了更多视频效果,用户可直接在
PowerPoint 2010
中设定(调节)起先和终止时间辑录视频(见下图),也可将视频放到之
PowerPoint 文件中。

PowerPoint
2010
右边的幻灯片面板也新增了分区特性,用户可将幻灯片分区归类,也可对所有区内的具有幻灯片举办操作。见下图中的
Default Section 和 LiveSino Section。

图片 3

PowerPoint
2010 也大增了看似格式刷的工具 – Animation
Painter
,可将动画片效果应用至此外对象,用法同格式刷。其它就是上次本人关系的
布罗德cast Slide Show
在线幻灯片播放效果

Office
2010 其他零件包括 OneNote 2010, Access 2010, InfoPath 2010, Publisher
2010 都含有了无数新特色,并且都已选择 Ribbon UI 但我不打算详细介绍。
图片 4

Office
Web Applications 2010

Office Web
Applications
2010
包含
Word Web App, Excel Web App, PowerPoint Web App 以及 OneNote Web
App,扶助简单的编写及实时协作功效,协助 IE, Firefox, 和
Safari。具体内容后文中介绍,另附清晰截图如下:

图片 5 图片 6

图片 7图片 8

Office
Mobile 2010

Office
Mobile 2010 包含新版 Word Mobile, Excel Mobile, PowerPoint Mobile,
OneNote Mobile 以及协助对话格局的 Outlook
Mobile(见下图,来源:SuperSite)。

图片 9

商家劳动器端也可渲染
Office 文档
供公司移动用户通过手机端查看 Office
文档,也支撑黑莓
iPhone

WZor.net 泄漏了
Microsoft Office 2010 Professional Plus 技术预览版(x86,
x64),而
Ars
Technica

在第一时间宣布了百分之百 Office 2010 截图。虽然对待 1 个月前泄漏的 Outlook 2010
截图
,界面并不曾太大转移,但多年来的
TechED 09 以及该泄漏版 Office 2010 中暗示了些 Office 2010 的新特性。

Windows 7
Jump Lists


TechEd 2009 上,微软示范了扶助 Windows 7
Jump Lists 新特性

Outlook 2010。当有未读邮件时。Outlook
任务栏图标右下角还包括新邮件的图标提醒(如下图)。(via Techradar

图片 10

Microsoft
PowerPoint Live(Broadcast Slide Show)

PowerPoint
2010 协助将演示文档披露至 PowerPoint Live
或其他在线服务,以便其他用户可经过浏览器观看该演示文档,类似 Apple
iWork.com
。而 PowerPoint
Live 很可能就是 Office Web
Applications

中的一员。

图片 11

JCXP
还提交了
一对
PowerPoint 2010 以及 Word 2010 新特征的截图和简介,比如:PowerPoint
截图效能、新的 PowerPoint 过渡效果、PowerPoint 内录制幻灯演示。

另外,Office 2010
官方社团也已确认
:Groove
已更名为 SharePoint Workspace,并且 OneNote 和 SharePoint Workspace
都将囊括于 Pro Plus 版本中。

自己早已设置了Office
2010 Professional Plus Beta X64:

图片 12

如上文介绍的,InfoPath和Groove的命名暴发了转移,其他不变。个人感觉Office
2010中最大的成形是对在线办公的支撑,这是将来上扬的大势,个人表示看好。其他新效能我会陆续尝试,会发布在持续篇章,以VSTO
4.0来体验新特点。

 

二、Excel对象模型

图片 13

目的模型是一组由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)中。

绝大多数VSTO项目会活动添加PIA,假设创造的是任何品种的档次(控制台、类库、WinForm、WPF等),则需要手动添加PIA。

说明

程序集名称

命名空间

Microsoft Office 14.0 Object Library

Office.dll

Microsoft.Office.Core

Microsoft Excel 14.0 Object Library

Microsoft.Office.Interop.Excel.dll

Microsoft.Office.Interop.Excel

Microsoft Word 14.0 Object Library

Microsoft.Office.Interop. Word.dll

Microsoft.Office.Interop. Word

Microsoft Outlook 14.0 Object Library

Microsoft.Office.Interop. Outlook.dll

Microsoft.Office.Interop. Outlook

Microsoft Graph 14.0 Object Library

Microsoft.Office.Interop. Graph.dll

Microsoft.Office.Interop. Graph

Microsoft.SmartTags 2.0 Type Library

Microsoft.Office.Interop.SmartTag.dll

Microsoft.Office.Interop.SmartTag

图片 14

当PIA之间有依靠关系时,VS2010会自动抬高必须的PIA。

 

四、Office解决方案

1、Office自动化程序(Office Automation Executable)

Office自动化程序是单独于Office的顺序,用于控制和自动化处理某个Office应用程序。如控制台、类库、WinForm、WPF等。

2、Office加载项(Add-In)

Office加载项是某个程序集(dll)中的类,Office在急需时可加载和创设它,加载项能够直接在Office应用程序的进程中运作,而不需要在单身于Office应用程序的历程中运行,加载项在Office应用程序的全套生命周期中均保持加载状态。

3、Office文档代码(Code Behind on Office Document)

Office文档代码早在VBA时代就曾经得到了常见的行使,在VSTO中收获了更进一步的滋长。Office文档代码可以用某种模式对Office应用程序举办定制,如扩展只在如今文档中才面世的菜单项,或者在文档打开时接触事件。

4、Office 模板(Office Template)

运用托管代码创设相应的Office模板。

5、服务器文档情势(Server Document)

VSTO可以在不打开Office应用程序的场合下,在服务器端运行程序并对存放在Office文档中的数据开展操作,如VSTO的缓存数据功用,SharePoint
2007/ 2010的Excel 瑟维斯(Service)(Service)s等。

6、OpenXML模式

以OpenXML的API操作Office文档中的数据,结合XSLT等转移为急需的文档格式。关于OpenXML的牵线请参阅我博客的此外一个多级:OpenXML学习笔记。

 

五、Office文档代码示例

出于本次重高校习Excel对象模型,顾接纳Office文档代码格局做几个简单的勤学苦练,此外模式延续篇章会陆续介绍。

1、新建一个Excel 2010 Workbook项目:

图片 15

 

默认添加的引用和序列文件:

图片 16

 

2、在Sheet1中添加四个Button和一个Label控件:

图片 17

 

3、添加事件处理代码:

 

图片 18图片 19代码

        private void btnPIA_Click(object sender, EventArgs e)
        {
            Excel.Workbook book = this.Application.Workbooks[1];
            Excel.Worksheet sheet = book.Worksheets[1];//C# 4.0新特点,PIA动态导入。
            this.labMsg.Text = “这是PIA调用结果,当前工作表名为: ” + sheet.Name;
        }

        private void btn获取工作表_Click(object sender, EventArgs e)
        {
            this.labMsg.Text = string.Empty;
            Excel.Workbook book = this.Application.Workbooks[1];

            for (int i = 1; i <= book.Worksheets.Count; i++)
            {
                //C# 4.0新特征,PIA动态编译。
                this.labMsg.Text += book.Worksheets[i].Name + ” “;
            }
        }

受益于C#
4.0的新特色,能够不用进行显示类型转换了,同时PIA将在运转时举办导入、编译,注意:VSTO中的索引大多数是从1起头,而不是从0.

 

4、F5运转,将会打开生成的Excel:

图片 20

 

5、运行结果:

图片 21

 

六、小结

本次首先叙述了Office
2010的新特点,学习了VSTO开发的基础知识,对PIA有了深远的认识,介绍了不同的Office解决方案的界别。最后用 Excel文档代码做了一个简便的示范,利用C#
4.0的新特色,使得VSTO 4.0的开发尤其便民、高效。倘诺你还不了解C#
4.0,不妨先看看园子里的连带作品,若要调试本示例代码,需要安装VS2010
Beta2 + Office 2010
Beta。下三遍将继续学习Excel的相干知识,我们将动用VSTO来编排一个Excel自定义公式,相比其与VBA的不比。

相关文章