Excel对象模型,微软智能用户端的前生今生

在始于上世纪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 2008基础之上,先介绍一下Office
2008的新特点,注意现行反革命只是Beta版,正式版或然还有意义上的调节。

Google的敏捷发展,让微软感受到前古未有的角逐压力,微软纵然比超小愿意认同,但其实是在网络的时日,确实已经落伍了谷歌一大步。但是微软也的确有和好的难关,毕竟自个儿最赢利的制品依然桌面包车型客车Office,即使也在暗中(仅仅是猜想)拼命的追逐Google,把Google作为唯生龙活虎真正的角逐对手,但桌面包车型地铁行使不容许放弃,毕竟那是最大的顾客群众体育,也是最来钱的东西,于是大家在二零零零年就听见这么的贰个概念:智能顾客端。鼓吹了一年,没来看哪些功效,但是假让你用到了Exchange,並且你对微软的Outlook二〇〇四或上述版本相比较纯熟,你就会体会到何以叫做智能客商端了。严厉意义上讲,Outlook是微软第大器晚成款真正的智能客商端产品。Exchange是劳务器端,全数的源委如邮件、公共文件夹都存款和储蓄在劳动器端,Outlook能够把自己索要的剧情,自动从服务器端同步到顾客端。

示范代码下载

微软的Sharepoint工夫从二〇〇一的雏形,经过2001前行到二零零六版时,已经主导产生了微软的三个计策构想,正是把全部微软的客商端的office组件,通过多个称为Sharepoint的服务器产品融合起来,形成后生可畏套真正含义上的有着一点都不小弹性的企业应用的解决方案。大家能够说,有了Sharepoint
server这一个基本,Office终于形成了三个整机的拼图,Office的各类组件,终于都形成了一个个智能顾客端的出品,Excel正是中间的先遣,Sharepoint2005不但提供了Excel服务,还会有Form
service,就是从2004才有的Infopath组件。

本体系具备示例代码均在 Visual Studio 二〇〇九 Beta 2 + Office 2009 Beta
下测验通过

记得Office
2005的时候,有贰个豪门拾贰分面生的名字,Groove,小编历来未有关怀过,只是据书上说那是一个用来合作的制品,尤其不解,Sharepoint的初衷本人不就是同盟么。当Office2010宣布Beta的时候,微软终于揭秘了谜底,那个收购的成品规范的名字将从Groove改为Sharepoint
Workspace,是贰个正式的sharepoint 的智能客商端,就好像Exchange
和Outlook的涉及相似。

 

记得二零零六年在时尚之都市参预二个Sharepoint的类型,客商有贰个老大实在的供给,便是每一日须要将内网门户中的内容同步到台式机上,去和顾客实行相关的议和,由于内容的不鲜明性,全部这个时候落到实处起来,有极其的难度,况兼不便于形成后生可畏套康健的应用方案,未来好了,有了Sharepoint
Workspace,终于能够完备的完成那么些要求了。

一、Office 2010新特性

 当Office二〇〇九专门的学业发表的时候,我想微软对此智能顾客端终于有了二个整机的传道,只是不知晓在Sharepoint和Office这么些体系之外,微软还可以搞出如何花样!呵呵。

微软将于二零零六年八月份专门的职业生产Office 2009。Office
二零一零带来了数不胜数主次改正,保持了Office
二〇〇五的XML文件格式,修改了Ribbon分界面,并推动了依据浏览器的Excel、Word、OneNote、PowerPoint作为Office互连网应用服务,并第二回提供六12位的Office。

 

  Office 2008打破了微软的历史观,成为国内外最资深的在线Office工具,Office
20第10中学的基于Web的功效是崭新的,因此只怕会身不由己难点。由于对微软崭新的Office在线体验有所思疑的态度,即便有一点点集团安插购买Office
2009,不过还要也会选用免费的Google Docs和Zoho。

 

Office
Word 2010

Office
Word 2010 增强了 Navigation Pane 特性,客户可在 Navigation Pane
中高速切换至其余黄金时代章节的上马(依据标题样式决断),同期也可在输入框中举行即时搜索,包涵关键词的章节题目会高亮展现。比如下图中的找出LiveSino.net:

图片 1

Office
Word 二零零六 也平添了在线实时合营功效,客商能够从 Office Word Web App
中运维 Word 二零零六进行在线文书档案的编排,并可在左下角观望同临时候编写制定的其余客户(包涵其余联系方式、IM
等音讯,须求 Office Communicator)。而当其余顾客改过了某处后,Word 2008会提示当前客户举行联合。(注:此意义也设有于部分别的 Office 二零零六程序中)

别的,客户可在
Office Word 二零一零, Office PowerPoint 二零一零 以至 Office OneNote 二〇〇九 等
Office 二零一零 程序中央直属机关接插入别的正在运作的软件的截图。

Office
Excel 2010

Office
Excel 2010 新增了 Sparklines
性格,可依靠客户采取的多寡间接在单元格内画出折线图、柱状图等,并配有
Sparklines 设计面板供自定义样式。

图片 2

Office
PowerPoint 2010

Office
PowerPoint 二零一零除了新增加越来越多幻灯片切换特效、图片管理特效之外,还增添了越来越多摄像效率,客户可直接在
PowerPoint 二零零六中设定(调度)开端和终止时间辑录录制(见下图),也可将摄像放到之
PowerPoint 文件中。

PowerPoint
贰零零捌侧边包车型客车幻灯片面板也陡增了分区天性,客户可将幻灯片分区归类,也可对全体区内的具备幻灯片举行操作。见下图中的
Default Section 和 LiveSino Section。

图片 3

PowerPoint
二零零六 也增加了近乎格式刷的工具 – Animation
Painter
,可将动画片效果应用至别的对象,用法同格式刷。其它就是上次本身关系的
布罗兹cast Slide Show
在线幻灯片播放效果

Office
二〇〇八 别的零件包罗 OneNote 二〇〇九, Access 二零一零, InfoPath 二〇一〇, Publisher
2009 都包罗了多数新特色,何况都已经运用 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 2009 包括新版 Word Mobile, Excel Mobile, PowerPoint Mobile,
OneNote Mobile 以致协助对话情势的 Outlook
Mobile(见下图,来源:SuperSite)。

图片 9

供销合作社劳动器端也可渲染
Office 文档
供公司移动客商通过手提式无线电话机端查看 Office
文书档案,也支撑黑莓
iPhone

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

在第有的时候间公布了一切 Office 二〇〇九 截图。纵然对待 1 个月前泄漏的 Outlook 2010
截图
,分界面并不曾太大转移,但近来的
TechED 09 以致该泄漏版 Office 二零一零 中示意了些 Office 2008 的新特色。

Windows 7
Jump Lists


TechEd 二零零六 上,微软示范了援助 Windows 7
Jump Lists 新特性

Outlook 二〇一〇。当有未读邮件时。Outlook
任务栏Logo右下角还富含新邮件的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 二〇〇八 新本性的截图和简要介绍,比如:PowerPoint
截图功用、新的 PowerPoint 过渡效果、PowerPoint 内摄像幻灯演示。

另外,Office 贰零零玖官方协会也已承认:Groove
已改名称叫 SharePoint Workspace,而且 OneNote 和 SharePoint Workspace
都将席卷于 Pro Plus 版本中。

本人后生可畏度安装了Office
二零一零 Professional Plus Beta X64:

图片 12

如上文介绍的,InfoPath和Groove的命名发生了转移,其余不改变。个人认为Office
二零一零中最大的变通是对在线办公的支持,这是鹏程迈入的来头,个人代表看好。其余新功用小编会时有时无尝试,会发布在承接篇章,以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
2006/ 2009的Excel 瑟维斯s等。

6、OpenXML模式

以OpenXML的API操作Office文书档案中的数据,结合XSLT等转移为急需的文书档案格式。关于OpenXML的牵线请参阅作者博客的其它二个美妙绝伦:OpenXML学习笔记。

 

五、Office文书档案代码示例

由于此次重大学习Excel对象模型,顾接受Office文书档案代码形式做多少个大约的演习,别的形式一而再再三再四篇章会时有时无介绍。

1、新建一个Excel 二零零六 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的不如。

相关文章