VSTO开发者指南
分類: 图书,计算机/网络,程序设计,Basic VB VB Script,
作者: 麦克格拉斯(McGrath,K)等著;李永伦译
出 版 社: 机械工业出版社
出版时间: 2009-1-1字数:版次: 1页数: 400印刷时间:开本: 16开印次:纸张:I S B N : 9787111250609包装: 平装编辑推荐
本书是为有兴趣把技能迁移到下一代Office开发的VBA开发者写的。你可以得到编写Word 2003、Excel 2003和Outlook 2003托管代码程序的易懂且实用的介绍,还将学到如何用VSTO 2005 SE为最受欢迎的Office 2003和Microsoft Office 2007应用程序创建插件。
作为这方面的专家,作者通过丰富的代码示例来展示受欢迎的VSTO功能,例如智能标记和操作窗格。示例代码也向你演示了如何定制Microsoft Office 2007新的uI功能.包括功能区、自定义任务窗格和Outlook窗体区域。
VBA开发者将会轻松获得:
对托管代码和Visual Studio集成开发环境(IDE)的深入理解。
多个如何使用视图控件,数据绑定和操作窗格为Word 2003和Excel 2003创建文档级别的定制程序的示例。
为Outlook 2003开发插件的全面概览。
用VSTO和VSTO 2005 SE创建的解决方案在安全和部署方面的有用信息。
如何把VBA解决方案迁移到Visual Basic 2005和VSTO的详细说明。
更多关于为Microsoft Office 2007开发VSTO 2005 SE插件定制功能区、自定义任务窗格和Outlook窗体区域的详细信息。
对本书的赞誉:
“真希望第一次接触VSTO和NET Framework时就拥有这本书。它对于那些考虑VSTO以及从Office VBA转到VisualBasic.NET的人都是极具价值的。广泛涉猎的主题为MSDN和其他方面的更加深入的面向开发者的文档提供了一个切入点。”
——Cindy Meister,微软Word MVP
“《VSTO开发者指南》做了一件很好的事,在VBA和VSTO这两个世界之间架起了一座桥。Kathleen和Paul告诉我们.VBA开发者如何在拥有丰富Office知识的同时也能获得VisualStudio的强大、可维护性和安全性。他们成功地写了一本易于接受、易于理解和令人信服的书。”
——KD Hallman,微软开发人员部门主管
“对于想要转到使用VSTO为Office进行.NET开发的VBA开发者,这本书是一个不错的选择。很多示例都展示TVB.NET代码和对应的VBA代码。帮助解释关键概念和用法的区别。”
——Steve Hansen,Officezealot,com,《Mastering Excel2003 Programming with VBA》作者和《Mastering Excel2000Premium Edition》作者之一。
内容简介
本书是使用VSTO开发MicrosoftOffice的VBA开发者指南。本书重点讲解了托管代码和VisualStudio集成开发环境(IDE),如何使用视图控件、数据绑定和操作窗格为Word 2003和Excel 2003创建文档级别的定制程序,如何为Outlook 2003开发插件,用VSTO和VSTO 2005SE创建的解决方案在安全和部署方面的有用信息,如何把VBA解决方案迁移到VisualBasic2005和VSTO,以及更多关于为Microsoft Office 2007系统开发VSTO 2005 SE插件定制功能区、自定义任务窗格和Outlook窗体区域的详细信息。另外,本书通过丰富的代码示例来展示VSTO功能,使读者更易于理解和掌握。
本书适合VSTO开发人员、VBA开发人员、NET开发人员以及其他开发人员参考。
作者简介
Kathleen McGrath,Microsoft技术作家。她为VSTO、Visual Studio Tools for Applications(VSTA)和Visual Basic写过文档。Kathleen在她的博客(blogs.msdn.com/kathleen)上演TVSTO和Visual Basic的功能。
目录
对本书的赞誉
译者序
推荐序
序言
前言
第一部分 VSTO概述
第1章 VSTO入门
1.1 本章主题
1.2 什么是VSTO
1.3 为什么用VSTO代替VBA
1.4 VSTO的功能
1.4.1 宿主项和宿主控件
1.4.2 Windows Forrns控件
1.4.3 智能标记
1.4.4 定制任务窗格
1.4.5 在文档中缓存数据
1.4.6 托管插件
1.4.7 安全和部署
1.4.8 功能区支持
1.4.9 增强开发环境
1.5 创建VSTO解决方案
1.5.1 用VBA创建Office解决方案
1.5.2 用VSTO创建Office解决方案
1.5.3 项目类型
1.6 VSTO如何与Visual Studio集成
1.6.1 把Word和Excel当作设计器
1.6.2 VSTO中的代码文件
1.7 小结
1.8 复习问题
第2章 编程环境
2.1本章主题
2.2Visual Studio IDE介绍
2.2.1环境设置
2.2.2创建Visual Studio Tools for Office项目
2.2.3准予访问VBA项目系统
2.2.4菜单和工具栏
2.3查看IDE窗口
2.3.1代码视图
2.3.2探究Solution Explore
2.3.3Properties窗口
2.3.4浏览Object Browser
2.3.5项目属性
2.3.6查看其他Visual Studio窗口
2.4编码工具
2.4.1使用智能感知
2.4.2编辑并继续
2.5生成和运行代码
2.6调试你的代码
2.6.1设置断点
2.6.2逐语句、逐过程和跳出代码
2.6.3试用调试工具
2.6.4使用调试窗口
2.7查找和使用帮助
2.7.1 目录
2.7.2索引
2.7.3搜索
2.7.4如何实现
2.7.5 动态帮助
2.8小结
2.9复习问题
第3章 托管代码介绍
3.1本章主题
3.2什么是托管代码
3.3面向对象编程介绍
3.3.1理解类和对象
3.3.2分部类
3.3.3泛型类
3.3.4接口
3.3.5面向对象概念
3.4探究.NET Framework
……
第3章 托管代码介绍
第4章 从VBA转到VSTO和Visual Basic 2005
第二部分Word和Excel
第5章 定制Word和Excel任务窗格
第6章 使用VSTO定制Word
第7章 使用VSTO定制Excel
第8章 Word和Excel里的控件
第9章 Word和Excel里的智能标记
第三部分 Outlook和其他内容
第10章 使用VSTO为Outlook创建插件
第11章 安全性和部署
第12章 把VBA解决方案迁移到VSTO
第13章 VSTO的高级话题
等14章 VSTO 2005 SE和2007 Microsoft Office System
附录
书摘插图
第一部分 VSTO概述
第1章 VSTO入门
1.4VSTO的功能
VSTO提供的编程模型扩展了Word和Excel里的一些公共对象,例如书签和范围。这些对象现在具备了数据绑定的能力。比如说,你可以把数据库里的字段绑定到Excel里的单元格。使用数据绑定,你可以让数据自动填充到文档的对应位置,并且根据用户的输入更新数据库里的数据。
VSTO编程模型背后的理念是把数据及其表现形式分离开来。你现在可以直接访问存储在数据源里的数据,而不用在文档里查找显示这些数据的对象。数据源可以是数据库、XML文件,甚至是文本文件。
数据绑定对于服务器端编程尤其有用。VSTO使你可以在文档里储存能被外部应用程序访问(无需打开该文档)的数据。若要做到这点,你可以通过把数据储存在XML数据岛或者数据缓存(data cache)里。如果你把数据储存在数据缓存里,那么你可以在服务器上访问数据缓存,而无需打开文档或者在服务器上安装Word或Excel。
VSTO扩展对象的另一种做法是添加本地对象里没有的事件。比如说,你现在可以对工作表单元格的更改事件编程,而不用遍历对象模型并编写许多行代码找出哪个单元格发生了改变。当你在文档或者工作表上添加这些扩展对象时,VSTO把它们创建成一级•,NET对象,你可以直接对它们编程。这些对象称为宿主控件(host contr01),而你添加宿主控件的文档或者工作表则称为宿主项(host item)。
使用VSTO 2005 SE,你可以为Office 2003和2007 Microsoft Office System创建应用程序级别的插件。VSTO 2005 SE还支持定制Office 2007的新用户界面,包括功能区、自定义任务窗格和Outlook窗体区域。
1.4.1 宿主项和宿主控件
正如前面所提到的那样,宿主项是一个表示Office对象模型人口点的类。默认情况下,当你创建1个Excel解决方案时,将会创建4个Excel的宿主项:Workbook、Sheetl、Sheet2和sheet3。如果你在设计时添加更多工作表,那些工作表将被创建为宿主项。宿主项通过添加数据绑定的能力和提供额外的事件来扩展本地Office文档。
宿主项是word或者Excel的设计图面(design surface),担当控件容器的角色,这是看待宿主项的一个角度。就像你在VBA里把控件添加到UserForm上一样,你可以把Window Forms控件和宿主控件添加到宿主项上。这条规则的一个例外是工作簿宿主项。工作簿可以包含组件(component),但不能包含控件。
……