微软智能客户端的前生今生,VSTO学习笔记葡萄娱乐官方

在始于上世纪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 2009基础之上,先介绍一下Office
二〇一〇的新特征,注意现行反革命只是Beta版,正式版恐怕还恐怕有功能上的调度。

谷歌的快速发展,让微软感受到开天辟地的竞争压力,微软只管十分的小愿意认同,但实质上是在互连网的一代,确实已经落后了Google一大步。不过微软也确实有投机的难关,毕竟自身最盈利的产品只怕桌面包车型地铁Office,就算也在暗自(仅仅是可疑)拼命的竞逐Google,把谷歌作为独一真正的竞争对手,但桌面包车型大巴选取不大概丢弃,究竟那是最大的客户群众体育,也是最来钱的事物,于是我们在2000年就听到如此的二个定义:智能客户端。鼓吹了一年,没看出什么样功能,然而只要您用到了Exchange,而且你对微软的Outlook二零零一或以上版本比较熟练,你就能体会到如何叫做智能客户端了。严峻意义上讲,Outlook是微软先是款真正的智能客户端产品。Exchange是劳动器端,全数的内容如邮件、公共文件夹都存款和储蓄在服务器端,Outlook能够把温馨须要的源委,自动从劳动器端同步到客户端。

示范代码下载

微软的Sharepoint本事从二〇〇〇的雏形,经过二零零二迈入到二零零六版时,已经基本到位了微软的五个计策构想,正是把全数微软的客户端的office组件,通过贰个堪当Sharepoint的服务器产品融入起来,产生一套真正意义上的有所一点都不小弹性的集团应用的化解方案。大家得以说,有了Sharepoint
server这几个主题,Office终于形成了三个一体化的拼图,Office的每一个组件,终于都成为了二个个智能客户端的产品,Excel正是中间的急先锋,Sharepoint2007不止提供了Excel服务,还应该有Form
service,正是从二零零四才有的Infopath组件。

本体系具有示例代码均在 Visual Studio 二〇〇九 Beta 2 + Office 二零一零 Beta
下测量试验通过

回想Office
二零零七的时候,有一个豪门极度目生的名字,Groove,笔者有史以来未有钟情过,只是据悉那是一个用以同盟的成品,特别不解,Sharepoint的当初的愿景自个儿不就是同盟么。当Office二〇一〇发表Beta的时候,微软终究揭秘了谜底,这么些收购的产品专门的学业的名字将从Groove改为Sharepoint
Workspace,是三个规范的sharepoint 的智能客户端,就好像Exchange
和Outlook的关系同样。

 

记得二零零七年在首都到场二个Sharepoint的门类,客户有贰个非常实际的急需,正是每17日必要将内网门户中的内容同步到笔记本上,去和客户进行相关的议和,由于内容的不鲜明性,全体当时促成起来,有一定的难度,而且不便于产生一套完备的化解方案,未来好了,有了Sharepoint
Workspace,终于得以健全的兑现那些要求了。

一、Office 2010新特性

 当Office2008专门的学问发布的时候,作者想微软对于智能客户端终于有了一个平安无事的传教,只是不领悟在Sharepoint和Office这几个系统之外,微软还能搞出怎样花样!呵呵。

微软将于二零零六年3月份标准生产Office 2009。Office
二零一零拉动了相当多顺序革新,保持了Office
二〇〇六的XML文件格式,创新了Ribbon分界面,并拉动了依照浏览器的Excel、Word、OneNote、PowerPoint作为Office网络应用服务,并第壹次提供六13个人的Office。

 

  Office 二零零六打破了微软的价值观,成为满世界最盛名的在线Office工具,Office
20第10中学的基于Web的效应是全新的,由此或者相会世难题。由于对微软全新的Office在线体验有所猜忌的态势,即便有一点点集团安插购买Office
2008,可是同期也会采取无需付费的Google Docs和Zoho。

 

Office
Word 2010

Office
Word 2010 增强了 Navigation Pane 特性,用户可在 Navigation Pane
中神速切换至另外一章节的起来(根据标题样式剖断),同不时间也可在输入框中举行即时追寻,富含关键词的章节题目会高亮展现。举例下图中的找出LiveSino.net:

葡萄娱乐官方 1

Office
Word 2008 也增添了在线实时同盟功效,用户能够从 Office Word Web App
中运维 Word 二零零六进行在线文书档案的编写,并可在左下角看齐同期编制的别的用户(包含其余联系方式、IM
等音讯,须求 Office Communicator)。而当其余用户修改了某处后,Word 2010会提示当前用户实行同步。(注:此意义也设有于一些别的 Office 二零零六程序中)

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

Office
Excel 2010

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

葡萄娱乐官方 2

Office
PowerPoint 2010

Office
PowerPoint 贰零零玖除了新添越多幻灯片切换特效、图片管理特效之外,还扩充了越来越多摄像功用,用户可径直在
PowerPoint 二〇一〇中设定(调解)初叶和休憩时间辑录摄像(见下图),也可将录制放到之
PowerPoint 文件中。

PowerPoint
二零一零侧面的幻灯片面板也新增加了分区天性,用户可将幻灯片分区归类,也可对所有区内的具有幻灯片实行操作。见下图中的
Default Section 和 LiveSino Section。

葡萄娱乐官方 3

PowerPoint
二〇〇九 也平添了就好像格式刷的工具 – Animation
Painter
,可将动画效果应用至其余对象,用法同格式刷。另外正是上次自己关系的
布罗兹cast Slide Show
在线幻灯片播放效果

Office
二零一零 其余零件包罗 OneNote 2010, Access 2008, Info帕特h 2010, 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 二零一零 饱含新版 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 2009 的新特征。

Windows 7
Jump Lists


TechEd 2010 上,微软亲自过问了支撑 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 2009 新特征的截图和简要介绍,比如:PowerPoint
截图成效、新的 PowerPoint 过渡效果、PowerPoint 内录像幻灯演示。

另外,Office 二零一零官方协会也已承认:Groove
已更名字为 SharePoint Workspace,並且 OneNote 和 SharePoint Workspace
都将包蕴于 Pro Plus 版本中。

本身曾经设置了Office
2008 Professional Plus Beta X64:

葡萄娱乐官方 12

如上文介绍的,InfoPath和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
2008 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
二零零六/ 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的例外。