VSTO开发指南--使用Visual Basic 2005进行基于Excel、Word、Outlook、InfoPath的Office开发
基本信息
编辑推荐
国内首本全面、系统的VSTO开发参考书.
微软总部高级程序经理梁梅倾力推荐..
整合.NET Frameworks、Visual Studio.NET的强大功能Office开发...
推荐阅读
内容简介回到顶部↑
本书是微软公司vsto开发小组的两位设计人员编写的一部关于microsoft office程序开发的专著,介绍了在visual studio.net 2005开发环境中使用visual basic.net开发office程序的技术方法。主要内容包括vsto 2005中的office主互调程序集,word、excel、outlook和infopath的对象模型、事件和方法,以及在vsto中应用这些对象模型、事件和方法创建word、excel、outlook等office自动化程序、加载项及文档代码的方法。本书还具体介绍了vsto 2005为office开发所提供的各种功能。
本书示范程序精炼、典型、实用,分析了vsto office程序设计的技术、方法与原理,帮助读者学习和掌握vstooffice程序设计。本书可作为有一定经验的office用户学习microsoft office程序开发的首选书,更是中高级office开发人员深入学习office编程不可多得的技术指南。
本书示范程序精炼、典型、实用,分析了vsto office程序设计的技术、方法与原理,帮助读者学习和掌握vstooffice程序设计。本书可作为有一定经验的office用户学习microsoft office程序开发的首选书,更是中高级office开发人员深入学习office编程不可多得的技术指南。
作译者回到顶部↑
本书提供作译者介绍
Eric Carter是Microsoft Visual Studio Tools for Office(VSTO)小组的开发管理员,他负责提出、设计并实施了现在VSTO中的许多功能。之前他在Microsoft主要从事Visual Studio for Applications、Visual Studio Macros IDE,以及Visual Basic for Applications for Office 2000 & Office 2003等方面的工作。.
Eric Lippert在Microsoft工作的9年中主要致力于通过设计并开发有用的编程语言和开发工具来改善开发人员的工作环境,其间他完成了Windows Scripting系列、Visual Studio Tools f.. << 查看详细
Eric Lippert在Microsoft工作的9年中主要致力于通过设计并开发有用的编程语言和开发工具来改善开发人员的工作环境,其间他完成了Windows Scripting系列、Visual Studio Tools f.. << 查看详细
目录回到顶部↑
前言
序言
致谢
作者简介
第ⅰ部分 vsto简介
第1章 o仟ice编程简介
第2章 office解决方案介绍
第ⅱ部分 .net环境下的offlce编程
第3章 excei编程
第4章 excei事件处理
第5章 excei对象处理
第6章 word编程
第7章 word事件处理
第8章 word对象处理
第9章 outiook编程
第10章 outiook事件处理
第11章 outiook对象处理
第12章 lnfopath介绍
第ⅲ部分 vsto中的office编程
第13章 vsto编程模型
序言
致谢
作者简介
第ⅰ部分 vsto简介
第1章 o仟ice编程简介
第2章 office解决方案介绍
第ⅱ部分 .net环境下的offlce编程
第3章 excei编程
第4章 excei事件处理
第5章 excei对象处理
第6章 word编程
第7章 word事件处理
第8章 word对象处理
第9章 outiook编程
第10章 outiook事件处理
第11章 outiook对象处理
第12章 lnfopath介绍
第ⅲ部分 vsto中的office编程
第13章 vsto编程模型
译者序回到顶部↑
随着社会信息化的不断深化,Microsoft Office的用户群越来越庞大。许多人用Word编写文章,处理办公文档:用Excel计算数据,制作报表:用Outlook编写电子邮件,发送信息……若你是一个使用MSOffice时日已久,经验丰富的中高级用户或开发人员,随着对Office应用理解的不断深入,对办公事务流程的熟悉,就会日益清晰地认识到Office二次开发对于简化办公事务、整合Office与其他应用软件系统、有效利用企业资源和提高工作效率意义重大,影响深远。.
然而多年以来,微软为MSOffice提供的主要开发工具只是VBA(VisualBasicforApplication),它是一个内嵌于Office程序中的开发环境,具有丰富的对象模型,人们通过COM技术访问这些对象模型,实现Office开发。虽然VBA易于使用,但却过于简单,功能有限,缺限也十分明显。VBA将代码嵌入到每个自定义文档中,若不慎出现代码漏洞,它们将随文件的复制而四处散播,难于修复。蠕虫病毒和宏病毒也能轻易地寄宿在Office文档中,并可通过网络或文件复制迅速传播,造成巨大的灾难。
基于.NET Framework和Visual Studio.NET的VSTO(Visual Studio Tools for Office)技术,将.NETFramework、Visual Studio.NET开发工具的强大功能与Office开发整合在一起,并解决了VBA Office开发中存在的漏洞和安全问题,将Office开发带上了一个更高的台阶。VSTO的出现,极大地鼓舞和振奋了MS Office的中高级用户和开发人员,他们可以在Visual Studio.NET环境中,通过C#或Visual Basic利用VSTO快捷地开发出高效而安全的Office程序。
令人遗憾的是VSTO出现几年来,却并没有什么真正的技术书籍全面而深入地将基于VSTO的Office开发技术介绍清楚,致使VSTO强大的Office开发功能未被广大用户知晓和应用。本书是微软VSTO技术小组中的两位设计者与实现者Eric Carter和Eric Lippert合作的一部巨著,它的出现填补了这一空白。
Eric Carter是VSTO设计小组的管理员,负责提出、设计并实施了VSTO中的许多功能,此前他也主要从事MS Office的研发工作,设计VBA及Office开发环境。Eric Lippert则主要为Microsoft设计与开发编程语言。两位大师匠心独俱的这部作品广博精深、案例丰富。技术精湛的示例代码遍布全书,深入浅出地解析了VSTO 2005 Office开发的方方面面,引领你进入.NET Office开发的大门,指导你成为MS Office编程的专家。..
本书主要介绍了在Visual Studio.NET 2005开发环境中使用Visual Basic.NET开发Office程序的技术方法,涵盖了Word 2003、Excel 2003、Outlook 2003和InfoPath 2003编程的相关内容。全书分为4部分。第I部分介绍Office对象模型和Office主互调程序集,以及如何利用Visual Studio提供的Office工具(VSTO)创建自动化程序、加载项和文档代码。第II部分介绍.NET环境下的Office对象模型,包括Word、Excel、Outlook及InfoPath的对象模型、事件和方法。第III部分介绍VSTO环境下的Office编程,具体介绍了VSTO为Office开发所提供的各种功能,包括在Excel和Word文档中使用Windows Forms控件,在Office对象中使用数据绑定、创建智能标记,以及向Office任务窗格中添加Windows Forms控件等。第Ⅳ部分是高级Office编程,介绍了如何运用VSTO在Word、Excel、Outlook中处理XML和托管COM加载项,以及管理Office程序的安全问题。
作为本书的翻译人员,我想告诉大家几点真切的感受和体会。多年以来,介绍MSOffice开发和VBA编程的书籍处处可见,但能够将Office开发的技术精髓像本书这样精炼而清晰地介绍出来的却寥寥无几!本书是MS Office的中高级用户和开发人员不可多得的一本技术手册和编程指南,任何一个Office开发人员都将从本书中受益,从对Office认知地加深到开发技术地提高,都将获得巨大的飞跃。对能够阅读本书的Office用户来说,这是一种幸运和幸福!
若您是一个一直使用VBA进行Office开发的中高级用户或开发人员,并且也不打算利用Visual Basic.NET开发Office程序,那么您也能够从本书受益。本书关于Word 2003、Excel 2003、Outlook 2003和InfoPath 2003中的对象模型及相关事件和方法的介绍,非常独具特色,即使您曾经翻阅过不计其数的VBA Office编程指南,也会在本书中见到让人耳目一新、顿然领悟的技术介绍,让您的Office开发技术提升到一个新的台阶,从而编写出精炼简沽、高效优雅的Office应用程序。
我还要诚恳地告诉您,若您是一个从未在MS Office中写过一行代码的初级用户,本书不适合您!
这里还要特别提醒一下本书关于某些英文术语的译法。本书是按照中文VSTO或中文Office环境中实际对应的术语名称来翻译某些英文术语的,这样做的目的是便于读者在上机实践过程中对照书中的内容。当然,这也可能因中文Office和Visual Studio.NET的版本不同而存在差异。比如Add-in,该术语最常见的译法是“加载宏”或“加载项”。但它在Word和Outlook中对应的菜单项或命令经常是“加载项”,在Excel中又常与“加载宏”对应。因此,我们在翻译这个术语时就按其当时的实际环境,保留了这三种译法。读者应知,本书中的“加载宏”、 “加载项”、 “外接程序”所对应的英文术语都是相同的,是同一类型的程序。类似术语翻译还有一些,详情如下表所示。Basic环境中测试通过了本书除第12章以外的示例程序。对于某些过于精炼而让人费解的介绍,或唐突出现而未作说明的术语,都添加了我们的注解,以便于读者理解。
本书由王永、罗龙艳、杜茂康、罗文龙、谢青、蹇洁翻译。王永翻译了第11章和第15—20章,并对全书进行了第一遍校译;罗龙艳翻译了第1—8章和第13、14、23、24章;罗文龙翻译了第9、10章;谢青翻译了第21章;蹇洁翻译了第22章:杜茂康对全书进行了第二遍校译,测试了全书的示例程序,并对全书进行了统稿。
在本书的翻译过程中,得到了李吕兵、曹慧英、袁浩、张仿、武建军、何波、卓颐等老师大力地校译支持,他们指正了某些技术术语的翻译,布此深表感谢!最后,特别地感谢电子工业出版社博文视点的何艳和梁晶两位编辑,她们一字——句地对比校正了本书每一个英文单词的翻译,没有她们的热情指导和字斟句琢的反复审校,本书不可能与读者见面!
由于译者的知识水下和能力有限,加之时间仓促,书中错误在所难免,恳请读者批评指正,译者在此先致感谢之意!...
译者
2007-11-18
然而多年以来,微软为MSOffice提供的主要开发工具只是VBA(VisualBasicforApplication),它是一个内嵌于Office程序中的开发环境,具有丰富的对象模型,人们通过COM技术访问这些对象模型,实现Office开发。虽然VBA易于使用,但却过于简单,功能有限,缺限也十分明显。VBA将代码嵌入到每个自定义文档中,若不慎出现代码漏洞,它们将随文件的复制而四处散播,难于修复。蠕虫病毒和宏病毒也能轻易地寄宿在Office文档中,并可通过网络或文件复制迅速传播,造成巨大的灾难。
基于.NET Framework和Visual Studio.NET的VSTO(Visual Studio Tools for Office)技术,将.NETFramework、Visual Studio.NET开发工具的强大功能与Office开发整合在一起,并解决了VBA Office开发中存在的漏洞和安全问题,将Office开发带上了一个更高的台阶。VSTO的出现,极大地鼓舞和振奋了MS Office的中高级用户和开发人员,他们可以在Visual Studio.NET环境中,通过C#或Visual Basic利用VSTO快捷地开发出高效而安全的Office程序。
令人遗憾的是VSTO出现几年来,却并没有什么真正的技术书籍全面而深入地将基于VSTO的Office开发技术介绍清楚,致使VSTO强大的Office开发功能未被广大用户知晓和应用。本书是微软VSTO技术小组中的两位设计者与实现者Eric Carter和Eric Lippert合作的一部巨著,它的出现填补了这一空白。
Eric Carter是VSTO设计小组的管理员,负责提出、设计并实施了VSTO中的许多功能,此前他也主要从事MS Office的研发工作,设计VBA及Office开发环境。Eric Lippert则主要为Microsoft设计与开发编程语言。两位大师匠心独俱的这部作品广博精深、案例丰富。技术精湛的示例代码遍布全书,深入浅出地解析了VSTO 2005 Office开发的方方面面,引领你进入.NET Office开发的大门,指导你成为MS Office编程的专家。..
本书主要介绍了在Visual Studio.NET 2005开发环境中使用Visual Basic.NET开发Office程序的技术方法,涵盖了Word 2003、Excel 2003、Outlook 2003和InfoPath 2003编程的相关内容。全书分为4部分。第I部分介绍Office对象模型和Office主互调程序集,以及如何利用Visual Studio提供的Office工具(VSTO)创建自动化程序、加载项和文档代码。第II部分介绍.NET环境下的Office对象模型,包括Word、Excel、Outlook及InfoPath的对象模型、事件和方法。第III部分介绍VSTO环境下的Office编程,具体介绍了VSTO为Office开发所提供的各种功能,包括在Excel和Word文档中使用Windows Forms控件,在Office对象中使用数据绑定、创建智能标记,以及向Office任务窗格中添加Windows Forms控件等。第Ⅳ部分是高级Office编程,介绍了如何运用VSTO在Word、Excel、Outlook中处理XML和托管COM加载项,以及管理Office程序的安全问题。
作为本书的翻译人员,我想告诉大家几点真切的感受和体会。多年以来,介绍MSOffice开发和VBA编程的书籍处处可见,但能够将Office开发的技术精髓像本书这样精炼而清晰地介绍出来的却寥寥无几!本书是MS Office的中高级用户和开发人员不可多得的一本技术手册和编程指南,任何一个Office开发人员都将从本书中受益,从对Office认知地加深到开发技术地提高,都将获得巨大的飞跃。对能够阅读本书的Office用户来说,这是一种幸运和幸福!
若您是一个一直使用VBA进行Office开发的中高级用户或开发人员,并且也不打算利用Visual Basic.NET开发Office程序,那么您也能够从本书受益。本书关于Word 2003、Excel 2003、Outlook 2003和InfoPath 2003中的对象模型及相关事件和方法的介绍,非常独具特色,即使您曾经翻阅过不计其数的VBA Office编程指南,也会在本书中见到让人耳目一新、顿然领悟的技术介绍,让您的Office开发技术提升到一个新的台阶,从而编写出精炼简沽、高效优雅的Office应用程序。
我还要诚恳地告诉您,若您是一个从未在MS Office中写过一行代码的初级用户,本书不适合您!
这里还要特别提醒一下本书关于某些英文术语的译法。本书是按照中文VSTO或中文Office环境中实际对应的术语名称来翻译某些英文术语的,这样做的目的是便于读者在上机实践过程中对照书中的内容。当然,这也可能因中文Office和Visual Studio.NET的版本不同而存在差异。比如Add-in,该术语最常见的译法是“加载宏”或“加载项”。但它在Word和Outlook中对应的菜单项或命令经常是“加载项”,在Excel中又常与“加载宏”对应。因此,我们在翻译这个术语时就按其当时的实际环境,保留了这三种译法。读者应知,本书中的“加载宏”、 “加载项”、 “外接程序”所对应的英文术语都是相同的,是同一类型的程序。类似术语翻译还有一些,详情如下表所示。Basic环境中测试通过了本书除第12章以外的示例程序。对于某些过于精炼而让人费解的介绍,或唐突出现而未作说明的术语,都添加了我们的注解,以便于读者理解。
本书由王永、罗龙艳、杜茂康、罗文龙、谢青、蹇洁翻译。王永翻译了第11章和第15—20章,并对全书进行了第一遍校译;罗龙艳翻译了第1—8章和第13、14、23、24章;罗文龙翻译了第9、10章;谢青翻译了第21章;蹇洁翻译了第22章:杜茂康对全书进行了第二遍校译,测试了全书的示例程序,并对全书进行了统稿。
在本书的翻译过程中,得到了李吕兵、曹慧英、袁浩、张仿、武建军、何波、卓颐等老师大力地校译支持,他们指正了某些技术术语的翻译,布此深表感谢!最后,特别地感谢电子工业出版社博文视点的何艳和梁晶两位编辑,她们一字——句地对比校正了本书每一个英文单词的翻译,没有她们的热情指导和字斟句琢的反复审校,本书不可能与读者见面!
由于译者的知识水下和能力有限,加之时间仓促,书中错误在所难免,恳请读者批评指正,译者在此先致感谢之意!...
译者
2007-11-18
前言回到顶部↑
让我来为如此独特的一部著作作序,真是一个极大的挑战,感到诚惶诚恐,颤颤兢兢。这样一部巨著,封面上的书名就让人油然生敬畏之情。任何人的只言片语要想介绍清楚作者在这个特定主题下所作的极具原创力的精深工作是远远不够的!请您相信我,本书将会满足各种高级应用的需求。在我收到为本书作序的邀请时,我的第一反应是难道在微软会没有知识渊博的大师来为此书作序吗?然而,或许外界的声音更具有说服力!因此,亲爱的读者,我就班门弄斧,斗胆在微软的大师面前说几句吧。.
首先,有一点内容是关于我自己的(这是我能在这篇短序中插话的最后机会):鄙人潜心于各种不同形式的Office程序设计,已逾十载,撰写过无数有关Office开发问题的文章,在Office 2000的辉煌岁月中挣扎的日子里,我已意识到Office若被整合到开发平台,它很可能会取得最后的成功。到了2001年前后,对于和我一样期望Office成为一个令人尊敬的开发标准的人们而言,不管道路曾有多么艰辛,情况已经变得明朗起来:Office打算不再将VBA作为编程语言。
随着Visual Studio Tools for Office 2003的发布,Office开发终于取得了我们所期望的进步:告别了20世纪90年代的开发模式,迎来了.NET Office开发的春天!Office开发者可以尽情地享用.NET带来的所有好处,使用托管代码、代码访问安全机制、xcopy配置以及.NET所提供的其他任何功能。我深爱这样的产品,但是它却从来没有真正得到开发者群体的大量支持。不过.NET的老技术大致如此,开发者只能使用基于COM的控件处理Office文档,且该技术根本就没有什么设计时的技巧支持,开发缓慢,效率低下。
回到从前,我还清晰地记得那时参加Microsoft的某些聚会,与Eric Carter会面时的情形。我当时还真不认识他(当然,他也对我一无所知),但他非常友好。我们畅所欲言,从普通的Office开发到VSTO的特定话题,一谈就是数小时。后来我才知道他在Office开发上的造诣之高,已是登峰造极,高山仰止!(我曾多次琢磨我们的会谈,担心在与他交谈的过程中讲了一些非常愚蠢的话题。希望没有……)我们有过长时间的通信往来,我从中受益良多,弄清了我曾费尽心思却仍疑惑难解的.NET与Office如何交互的难题。我用了大量的时间来学习Eric Carter和Eric Lippert的博客,从中领会到了许多深奥难解而对他们却只是小菜一碟的Office开发知识。如果你正在钻研Office开发,请一定访问下面的网址:..
http://blogs.msdn.com/ericlippert/
http://blogs.msdn.com/eric_carter/
我用了很多时间细读本书初稿,精研每个章节,试图找到某些我本人曾经提出过的却没有出现在本书中的诀窍或含金量高的技术,以彰显自己的功力,可未能如愿。我曾表示,如果由我为本书作序,我应当添加一点东西,可结果是:我没有能够轻易地找到任何被本书遗漏的需要添加的东西。哦,亲爱的读者,我相信您或许能够找到一些没有包含到本书中的细微之处,但是我在阅读本书时,确实没能做到这一点。为了寻找这些遗漏,我费尽周折,唉,仍然失败了。(当然,我想这是件好事,不是吗?)每次,当我想到其中可能会遗漏某个技巧时,仔细翻阅本书,却发现其中已经包含了这样的内容。这意味着一本可能是最好的参考书就在你的眼前。当然,你尚需进一步确认心中的期望:本书不可能简单,它甚至在某些章节中花了60页的篇幅来描述整个Excel或Word的对象模型。E&E确实做了一件非常杰出的工作,定会对.NET开发技术的发展产生深远的影响。
如果你打算购买本书而正在阅读此序,那就别再犹豫了,购买本书吧。如果你已经购买了本书,为什么还要读这个序呢?越过此序,去领略书中的精华,此序仅是本书的佐料,以后再看不迟!在你面前的是一座俊秀绮丽的巍巍高山,值得攀登。随着Visual Studio 2005的发布,使用托管代码进行Office开发已进入了一个全新的时代。此时,我已难以抑制自己利用本书构建伟大应用程序的急迫心情。 ...
Ken Getz,高级顾问
MCW Technologies
首先,有一点内容是关于我自己的(这是我能在这篇短序中插话的最后机会):鄙人潜心于各种不同形式的Office程序设计,已逾十载,撰写过无数有关Office开发问题的文章,在Office 2000的辉煌岁月中挣扎的日子里,我已意识到Office若被整合到开发平台,它很可能会取得最后的成功。到了2001年前后,对于和我一样期望Office成为一个令人尊敬的开发标准的人们而言,不管道路曾有多么艰辛,情况已经变得明朗起来:Office打算不再将VBA作为编程语言。
随着Visual Studio Tools for Office 2003的发布,Office开发终于取得了我们所期望的进步:告别了20世纪90年代的开发模式,迎来了.NET Office开发的春天!Office开发者可以尽情地享用.NET带来的所有好处,使用托管代码、代码访问安全机制、xcopy配置以及.NET所提供的其他任何功能。我深爱这样的产品,但是它却从来没有真正得到开发者群体的大量支持。不过.NET的老技术大致如此,开发者只能使用基于COM的控件处理Office文档,且该技术根本就没有什么设计时的技巧支持,开发缓慢,效率低下。
回到从前,我还清晰地记得那时参加Microsoft的某些聚会,与Eric Carter会面时的情形。我当时还真不认识他(当然,他也对我一无所知),但他非常友好。我们畅所欲言,从普通的Office开发到VSTO的特定话题,一谈就是数小时。后来我才知道他在Office开发上的造诣之高,已是登峰造极,高山仰止!(我曾多次琢磨我们的会谈,担心在与他交谈的过程中讲了一些非常愚蠢的话题。希望没有……)我们有过长时间的通信往来,我从中受益良多,弄清了我曾费尽心思却仍疑惑难解的.NET与Office如何交互的难题。我用了大量的时间来学习Eric Carter和Eric Lippert的博客,从中领会到了许多深奥难解而对他们却只是小菜一碟的Office开发知识。如果你正在钻研Office开发,请一定访问下面的网址:..
http://blogs.msdn.com/ericlippert/
http://blogs.msdn.com/eric_carter/
我用了很多时间细读本书初稿,精研每个章节,试图找到某些我本人曾经提出过的却没有出现在本书中的诀窍或含金量高的技术,以彰显自己的功力,可未能如愿。我曾表示,如果由我为本书作序,我应当添加一点东西,可结果是:我没有能够轻易地找到任何被本书遗漏的需要添加的东西。哦,亲爱的读者,我相信您或许能够找到一些没有包含到本书中的细微之处,但是我在阅读本书时,确实没能做到这一点。为了寻找这些遗漏,我费尽周折,唉,仍然失败了。(当然,我想这是件好事,不是吗?)每次,当我想到其中可能会遗漏某个技巧时,仔细翻阅本书,却发现其中已经包含了这样的内容。这意味着一本可能是最好的参考书就在你的眼前。当然,你尚需进一步确认心中的期望:本书不可能简单,它甚至在某些章节中花了60页的篇幅来描述整个Excel或Word的对象模型。E&E确实做了一件非常杰出的工作,定会对.NET开发技术的发展产生深远的影响。
如果你打算购买本书而正在阅读此序,那就别再犹豫了,购买本书吧。如果你已经购买了本书,为什么还要读这个序呢?越过此序,去领略书中的精华,此序仅是本书的佐料,以后再看不迟!在你面前的是一座俊秀绮丽的巍巍高山,值得攀登。随着Visual Studio 2005的发布,使用托管代码进行Office开发已进入了一个全新的时代。此时,我已难以抑制自己利用本书构建伟大应用程序的急迫心情。 ...
Ken Getz,高级顾问
MCW Technologies
序言回到顶部↑
当Visual Studio.NET和.NET Framework在2002年第一次发行时,我们微软的部分人意识到:如果我们现在不做点什么的话,Office编程就很可能会错过.NET这一出色的开发平台。.
之前出现的一个开发工具是Visual Basic for Application(VBA),这是整合到所有Office应用程序中的一个简单开发环境,每个Office程序都带有丰富的对象模型并通过COM技术实现对这些模型的访问。那时候许多程序员都将自己称作“Office开发人员”,他们利用VBA和Office COM对象模型完成了各种各样的任务,简单的如自动处理重复操作,复杂的包括利用Office强大的系统功能和用户接口创建完整的商业方案等。开发人员意识到他们的用户每天都会花费大量的时间处理Office文档,而这种在Office内创建解决方案的形式,不仅会让用户满意,同时通过重用Office应用程序的强大功能,节省了开销,还可完成更为复杂的任务。
遗憾的是,由于VBA自身的局限性,Office编程一开始就受到了很多批评。在解决简单问题时,一些小团体或个人在VBA环境下开发的解决方案还可以运行良好,但当问题变得越来越复杂超出VBA的解决范围时,就需要专业的开发人员进行重新开发。对专业开发人员而言,VBA的开发环境过于简单,功能有限,当然它是出自一种简单的编程语言:Visual Basic。VBA将代码嵌入到每个自定义文档中,这就使得修复漏洞和更新解决方案变得困难,因为这些漏洞在不同企业的文档中会重复出现,VBA模型中的安全弱点会直接导致蠕虫病毒和宏病毒的攻击,进而导致企业的VBA关闭。
Visual Studio .NET和.NET Framework提供了解决这些问题的方法,不仅将新.NET Framework、开发工具的强大功能和Office为开发人员提供的强大平台结合起来,还能解决VBA开发中遇到的问题,这一实现方案就是Visual Studio Tools for Office(VSTO)。..
VSTO的第一个版本比较简单,但基本实现了提供开发人员利用Visual Studio .NET和.NET Framework强大功能将代码添加到Excel 2003和Word 2003文档和模板中的基本目标。它允许专业开发人员在Visual Basic 2005和C#环境下开发Office解决方案,通过建立文档到.NET程序集的链接来代替以前在文档中嵌入.NET程序集的方式解决了代码嵌入的问题。此外,VSTO还引入了一种使用.NET代码访问安全的新安全模式,从而防止了蠕虫病毒和宏病毒的攻击。
第二版即本书中介绍的这个版本:VSTO 2005。它为Office开发人员提供了较第一版更为强大的功能,包括数据绑定、数据/视图分离、Visual Studio内Excel和Word的设计时视图、对文档中Windows Forms控制的更多支持、创建自定义Office任务面板和Office的服务器端编程等,这些还只是其强大功能的一小部分。尽管VSTO主要是为专业开发人员设计的,但这不意味着利用VSTO创建Office解决方案就是一门非常高深的学问,在VSTO中可以用简单的几行代码创建相当复杂的应用程序。
本书将尽量使用VSTO进行Word 2003、Excel 2003、Outlook 2003和InfoPath 2003编程的相关内容进行分类介绍,其中包括Office对象模型,以及对象模型中的最常用到的对象。此外,本书还有助于避免Office对象模型中由COM带来的一些问题。(完整的Visual Basic 2005代码实例可在本书的相关网址中下载:www.awprofessional.com/title/ 0321411757。)
本书还对VSTO的强大功能进行了深入地探讨,我们参与了其中部分功能的设计与实现,所以在这里,我们可以以过去3年与VSTO朝夕相处的特有经历告诉大家:使用VSTO编程不仅功能强大,而且非常愉快,我们衷心地希望你们也能和我们一样乐在其中。...
之前出现的一个开发工具是Visual Basic for Application(VBA),这是整合到所有Office应用程序中的一个简单开发环境,每个Office程序都带有丰富的对象模型并通过COM技术实现对这些模型的访问。那时候许多程序员都将自己称作“Office开发人员”,他们利用VBA和Office COM对象模型完成了各种各样的任务,简单的如自动处理重复操作,复杂的包括利用Office强大的系统功能和用户接口创建完整的商业方案等。开发人员意识到他们的用户每天都会花费大量的时间处理Office文档,而这种在Office内创建解决方案的形式,不仅会让用户满意,同时通过重用Office应用程序的强大功能,节省了开销,还可完成更为复杂的任务。
遗憾的是,由于VBA自身的局限性,Office编程一开始就受到了很多批评。在解决简单问题时,一些小团体或个人在VBA环境下开发的解决方案还可以运行良好,但当问题变得越来越复杂超出VBA的解决范围时,就需要专业的开发人员进行重新开发。对专业开发人员而言,VBA的开发环境过于简单,功能有限,当然它是出自一种简单的编程语言:Visual Basic。VBA将代码嵌入到每个自定义文档中,这就使得修复漏洞和更新解决方案变得困难,因为这些漏洞在不同企业的文档中会重复出现,VBA模型中的安全弱点会直接导致蠕虫病毒和宏病毒的攻击,进而导致企业的VBA关闭。
Visual Studio .NET和.NET Framework提供了解决这些问题的方法,不仅将新.NET Framework、开发工具的强大功能和Office为开发人员提供的强大平台结合起来,还能解决VBA开发中遇到的问题,这一实现方案就是Visual Studio Tools for Office(VSTO)。..
VSTO的第一个版本比较简单,但基本实现了提供开发人员利用Visual Studio .NET和.NET Framework强大功能将代码添加到Excel 2003和Word 2003文档和模板中的基本目标。它允许专业开发人员在Visual Basic 2005和C#环境下开发Office解决方案,通过建立文档到.NET程序集的链接来代替以前在文档中嵌入.NET程序集的方式解决了代码嵌入的问题。此外,VSTO还引入了一种使用.NET代码访问安全的新安全模式,从而防止了蠕虫病毒和宏病毒的攻击。
第二版即本书中介绍的这个版本:VSTO 2005。它为Office开发人员提供了较第一版更为强大的功能,包括数据绑定、数据/视图分离、Visual Studio内Excel和Word的设计时视图、对文档中Windows Forms控制的更多支持、创建自定义Office任务面板和Office的服务器端编程等,这些还只是其强大功能的一小部分。尽管VSTO主要是为专业开发人员设计的,但这不意味着利用VSTO创建Office解决方案就是一门非常高深的学问,在VSTO中可以用简单的几行代码创建相当复杂的应用程序。
本书将尽量使用VSTO进行Word 2003、Excel 2003、Outlook 2003和InfoPath 2003编程的相关内容进行分类介绍,其中包括Office对象模型,以及对象模型中的最常用到的对象。此外,本书还有助于避免Office对象模型中由COM带来的一些问题。(完整的Visual Basic 2005代码实例可在本书的相关网址中下载:www.awprofessional.com/title/ 0321411757。)
本书还对VSTO的强大功能进行了深入地探讨,我们参与了其中部分功能的设计与实现,所以在这里,我们可以以过去3年与VSTO朝夕相处的特有经历告诉大家:使用VSTO编程不仅功能强大,而且非常愉快,我们衷心地希望你们也能和我们一样乐在其中。...
媒体评论回到顶部↑
“随着应用开发团队越来越关注智能客户端(Smart Client)的开发,一本全面介绍VSTO的参考书就显得越来越迫切和必要。本书的出现给我们带来了巨大的惊喜,讲述透彻、清晰,附有丰富的程序代码,而且内容涉及Office编程中最常见的开发主题,该书内容对长期从事ASP.NET应用的.NET开发人员而言应该熟悉。感谢Eric Lippert和Eric Carter所作出的杰出贡献。”.
——Tim Huckaby,InterKnowlogy CEO,Microsoft地区总裁
“本书细致而深入地介绍了使用Visual Studio Tools for Office编程的具体方法,思路清晰、准确,作者以在该领域丰富而精深的专业知识为我们带来了VSTO方面最为权威的介绍。”
——PaulVick,Microsoft Visual Basic.NET技术主管
“Eric and Eric真的做到了。专业程序员一定会非常喜欢Visual Studio和.NET的这些强大功能,以及Office的可编程性。本书将逐一为你讲解Excel、Word、InfoPath和Outlook解决方案的编程实现。”
——Vernon W.Hui,Microsoft软件测试主管..
“本书是一本指导使用Visual Studio Tools for Office 2005编程的重要专深读物,是从事Office开发的必备参考书。”
——Siew Moi Khor,Microsoft程序员,作家
“我们不会把技术类的书籍当作休闲读物,而是作为技术开发的参考资料,本书就是一本学习智能客户端(Smart Client)开发的优秀参考书。或许,经常会听到这样的评论;通过VSTO 2005操作Office 2003中的任务窗格很容易’,但只有当你看到第15章开始的那个例子时才会发现,有时候,将简单的事情讲得深入透彻是件多么困难的事情,然而,这本书做到了。书中涉及VSTO的方方面面,从在应用程序中调用Office程序到创建智能文档,为传统Windows开发人员提供了一个可以真正发掘Office2003强大功能的有效利器。”
——Bill Sheldon,InterKnowlogy首席工程师,MVP
“Eric Carter和Eric Lippert一直以来都致力于Office开发和Visual Studio Tools for Office 2005的开发,两人在本书中所表现出来的对于VSTO、Office知识和认知的专深就是很好的证明。VSTO 2005和Office System 2003已经成为当前专业开发人员构建企业解决方案的一件利器。”
——Paul Stubbs,Microsoft项目经理
“本书既是学习工具又是参考工具,其中包括了有关对象模型对象及其属性、方法和事件的丰富内容,在此我向使用.NET framework进行Office开发,尤其是那些对VSTO编程感兴趣的人推荐这本书。”
——Rufus Littlefield,Microsoft软件设计工程师/测试专家...
——Tim Huckaby,InterKnowlogy CEO,Microsoft地区总裁
“本书细致而深入地介绍了使用Visual Studio Tools for Office编程的具体方法,思路清晰、准确,作者以在该领域丰富而精深的专业知识为我们带来了VSTO方面最为权威的介绍。”
——PaulVick,Microsoft Visual Basic.NET技术主管
“Eric and Eric真的做到了。专业程序员一定会非常喜欢Visual Studio和.NET的这些强大功能,以及Office的可编程性。本书将逐一为你讲解Excel、Word、InfoPath和Outlook解决方案的编程实现。”
——Vernon W.Hui,Microsoft软件测试主管..
“本书是一本指导使用Visual Studio Tools for Office 2005编程的重要专深读物,是从事Office开发的必备参考书。”
——Siew Moi Khor,Microsoft程序员,作家
“我们不会把技术类的书籍当作休闲读物,而是作为技术开发的参考资料,本书就是一本学习智能客户端(Smart Client)开发的优秀参考书。或许,经常会听到这样的评论;通过VSTO 2005操作Office 2003中的任务窗格很容易’,但只有当你看到第15章开始的那个例子时才会发现,有时候,将简单的事情讲得深入透彻是件多么困难的事情,然而,这本书做到了。书中涉及VSTO的方方面面,从在应用程序中调用Office程序到创建智能文档,为传统Windows开发人员提供了一个可以真正发掘Office2003强大功能的有效利器。”
——Bill Sheldon,InterKnowlogy首席工程师,MVP
“Eric Carter和Eric Lippert一直以来都致力于Office开发和Visual Studio Tools for Office 2005的开发,两人在本书中所表现出来的对于VSTO、Office知识和认知的专深就是很好的证明。VSTO 2005和Office System 2003已经成为当前专业开发人员构建企业解决方案的一件利器。”
——Paul Stubbs,Microsoft项目经理
“本书既是学习工具又是参考工具,其中包括了有关对象模型对象及其属性、方法和事件的丰富内容,在此我向使用.NET framework进行Office开发,尤其是那些对VSTO编程感兴趣的人推荐这本书。”
——Rufus Littlefield,Microsoft软件设计工程师/测试专家...


点击看大图





加载中...