在始于上世纪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 贰零壹零基础之上,先介绍一下Office
二〇〇八的新性子,注意现行只是Beta版,正式版大概还也许有功力上的调动。

谷歌(Google)的全速发展,让微软感受到见所未见的竞争压力,微软就算非常小愿意认可,但实在是在网络的时日,确实已经落伍了谷歌一大步。然则微软也确实有投机的难点,毕竟本人最赚钱的出品仍旧桌面包车型客车Office,即便也在骨子里(仅仅是推测)拼命的追逐谷歌(Google),把谷歌(Google)作为独一真正的竞争对手,但桌面包车型地铁使用不容许抛弃,终究那是最大的客户群众体育,也是最来钱的事物,于是大家在二零零四年就听到如此的四个概念:智能客户端。鼓吹了一年,没见到怎么着功用,但是若是您用到了Exchange,並且你对微软的Outlook二零零一或以上版本相比熟练,你就能够体会到怎么着叫做智能客户端了。严俊意义上讲,Outlook是微软率先款真正的智能客户端产品。Exchange是劳动器端,全数的内容如邮件、公共文件夹都存款和储蓄在服务器端,Outlook能够把温馨必要的开始和结果,自动从劳动器端同步到客户端。

演示代码下载

微软的Sharepoint本领从2002的雏形,经过二零零四进步到二〇〇六版时,已经主导造成了微软的叁个战术构想,正是把一切微软的客户端的office组件,通过贰个称作Sharepoint的服务器产品融入起来,产生一套真正含义上的保有相当的大弹性的集团应用的缓慢解决方案。大家得以说,有了Sharepoint
server这一个中心,Office终于产生了一个整机的拼图,Office的各类组件,终于都产生了多少个个智能客户端的成品,Excel正是里面包车型客车先遣,Sharepoint二〇〇六不唯有提供了Excel服务,还只怕有Form
service,便是从2001才有的Infopath组件。

本类别具有示例代码均在 Visual Studio 二〇〇九 Beta 2 + Office 二零零六 Beta
下测量检验通过

回忆Office
二零零六的时候,有一个大家杰出面生的名字,Groove,作者一直不曾青眼过,只是听新闻说那是贰个用来同盟的成品,越发不解,Sharepoint的初心本身不正是同盟么。当Office2009发布Beta的时候,微软终于揭示了谜底,这些收购的出品规范的名字将从Groove改为Sharepoint
Workspace,是一个规范的sharepoint 的智能客户端,就疑似Exchange
和Outlook的涉嫌一致。

 

记得2006年在京都参加贰个Sharepoint的种类,客户有多个特别实际的急需,正是时刻须求将内网门户中的内容同步到台式机上,去和客户开始展览有关的索价还价,由于内容的不分明性,全体当时兑现起来,有一定的难度,而且不轻便产生一套完备的消除方案,现在好了,有了Sharepoint
Workspace,终于得以周密的贯彻那个需求了。

一、Office 2010新特性

 当Office2008标准发表的时候,我想微软对于智能客户端终于有了一个完全的传道,只是不亮堂在Sharepoint和Office那个系统之外,微软还能够搞出哪些花样!呵呵。

微软将于二〇一〇年八月份专门的学业生产Office 二零零六。Office
二零一零推动了众多顺序创新,保持了Office
二零零七的XML文件格式,创新了Ribbon分界面,并拉动了依赖浏览器的Excel、Word、OneNote、PowerPoint作为Office网络应用服务,并第贰回提供陆拾壹人的Office。

 

  Office 2008打破了微软的价值观,成为全世界最盛名的在线Office工具,Office
二零零六中的基于Web的机能是斩新的,由此或者会并发难点。由于对微软斩新的Office在线体验有所困惑的情态,即便某些商家布署购买Office
二零一零,不过同时也会选拔免费的Google Docs和Zoho。

 

Office
Word 2010

Office
Word 2010 增强了 Navigation Pane 特性,用户可在 Navigation Pane
中快捷切换至别的一章节的始发(依据标题样式剖断),同期也可在输入框中实行即时搜索,包括关键词的章节标题会高亮显示。比如下图中的搜索LiveSino.net:

澳门新莆京游戏 1

Office
Word 2009 也加进了在线实时合作功用,用户能够从 Office Word Web App
中运转 Word 2009进行在线文书档案的编辑,并可在左下角观察同期编写制定的别的用户(包罗其余联系格局、IM
等音讯,必要 Office Communicator)。而当别的用户修改了某处后,Word 2009会唤起当前用户张开协同。(注:此功用也存在于有个别别的 Office 2009程序中)

别的,用户可在
Office Word 二〇〇九, Office PowerPoint 2009 以及 Office OneNote 二零零六 等
Office 2009 程序中央行政机关接插入其余正在运营的软件的截图。

Office
Excel 2010

Office
Excel 2010 新增了 Sparklines
本性,可依赖用户采用的数据直接在单元格内画出折线图、柱状图等,并配有
Sparklines 设计面板供自定义样式。

澳门新莆京游戏 2

Office
PowerPoint 2010

Office
PowerPoint 2010除了新添越多幻灯片切换特效、图片管理特效之外,还扩大了越多摄像功效,用户可直接在
PowerPoint 二零零六中设定(调整)起初和终止时间辑录录制(见下图),也可将录制放到之
PowerPoint 文件中。

PowerPoint
2010左侧包车型大巴幻灯片面板也新扩张了分区本性,用户可将幻灯片分区归类,也可对全体区内的有所幻灯片进行操作。见下图中的
Default Section 和 LiveSino Section。

澳门新莆京游戏 3

PowerPoint
二零零六 也大增了近似格式刷的工具 – Animation
Painter
,可将动画效果应用至其余对象,用法同格式刷。别的正是上次自身提到的
布罗德cast Slide Show
在线幻灯片播放效果

Office
二〇一〇 其余零件包括 OneNote 2009, Access 二零零六, InfoPath 二零零六, Publisher
二零一零 都含有了比较多新特征,况兼都已利用 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 2008 富含新版 Word Mobile, Excel Mobile, PowerPoint Mobile,
OneNote Mobile 以及扶助对话情势的 Outlook
Mobile(见下图,来源:SuperSite)。

澳门新莆京游戏 9

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

WZor.net 泄漏了
Microsoft Office 二〇〇八 Professional Plus 本事预览版(x86,
x64),而
Ars
Technica

在第不平日间公布了全体 Office 2008 截图。纵然对待 1 个月前泄漏的 Outlook 2010
截图
,分界面并不曾太大转移,但前段时间的
TechED 09 以及该泄漏版 Office 二零零六 中暗中提示了些 Office 2008 的新性子。

Windows 7
Jump Lists


TechEd 二零零六 上,微软身体力行了支撑 Windows 7
Jump Lists 新特性

Outlook 二〇一〇。当有未读邮件时。Outlook
职务栏Logo右下角还富含新邮件的图标提醒(如下图)。(via Techradar

澳门新莆京游戏 10

Microsoft
PowerPoint Live(Broadcast Slide Show)

PowerPoint
二零零六 帮助将演示文书档案揭露至 PowerPoint Live
或别的在线服务,以便别的用户可透过浏览器观望该演示文书档案,类似 Apple
iWork.com
。而 PowerPoint
Live 很可能就是 Office Web
Applications

中的一员。

澳门新莆京游戏 11

JCXP
还交到了
一些
PowerPoint 二零一零 以及 Word 2008 新特点的截图和简单介绍,比方:PowerPoint
截图效用、新的 PowerPoint 过渡效果、PowerPoint 内视频幻灯演示。

另外,Office 二零一零官方组织也已承认:Groove
已改名称为 SharePoint Workspace,况且 OneNote 和 SharePoint Workspace
都将囊括于 Pro Plus 版本中。

本人已经安装了Office
2009 Professional Plus Beta X64:

澳门新莆京游戏 12

如上文介绍的,Info帕特h和Groove的命名产生了变通,别的不改变。个人以为Office
20第10中学最大的变通是对在线办公的支撑,那是未来进步的动向,个人表示看好。其余新功能我会时有时无尝试,会揭破在继续篇章,以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
二〇〇九 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之间有依据关系时,VS二零一零会自动抬高必须的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
2005/ 2009的Excel Services等。

6、OpenXML模式

以OpenXML的API操作Office文书档案中的数据,结合XSLT等转移为急需的文书档案格式。关于OpenXML的介绍请参阅作者博客的别的一个多重:OpenXML学习笔记。

 

五、Office文书档案代码示例

是因为此番重大学习Excel对象模型,顾选取Office文书档案代码格局做多少个简易的演习,其他情势一连篇章会时断时续介绍。

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

澳门新莆京游戏 15

 

默许加多的引用和项目文件:

澳门新莆京游戏 16

 

2、在Sheet第11中学增加三个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
二零零六的新特性,学习了VSTO开垦的基础知识,对PIA有了深刻的认知,介绍了不一致的Office消除方案的区分。最终用 Excel文书档案代码做了八个简易的身体力行,利用C#
4.0的新特点,使得VSTO 4.0的支出尤其方便人民群众、高效。就算你还面生C#
4.0,无妨先看看园子里的连带文章,若要调节和测验本示例代码,须求安装VS二零零六Beta2 + Office 二零一零Beta。下叁遍将继续学习Excel的相干知识,大家将应用VSTO来编排二个Excel自定义公式,相比较其与VBA的不及。