标题：VSTO开发者指南
版权信息
作者:(美国)Kathleen McGrath (美国)Paul Stubbs 译者:李永伦
出版社：机械工业出版社
页码：400 页
出版日期：2009年
ISBN：9787111250609
装帧：平装
开本：16
丛书名：华章程序员书库
市场价：59.00
内容简介
《VSTO开发者指南》是为有兴趣把技能迁移到下一代Office开发的VBA开发者写的。你可以得到编写Word 2003、Excel 2003和Outlook 2003托管代码程序的易懂且实用的介绍，还将学到如何用VSTO 2005 SE为最受欢迎的Office 2003和Microsoft Office 2007应用程序创建插件。
作为这方面的专家，作者通过丰富的代码示例来展示受欢迎的VSTO功能，例如智能标记和操作窗格。示例代码也向你演示了如何定制Microsoft Office 2007新的uI功能，包括功能区、自定义任务窗格和Outlook窗体区域。
作者简介
Kathleen McGrath在Microsoft做编程作家。她为Visual Studio 2005 Tools for the Microsoft Office System（VSTO）、Visual Studio Tools for Applications（VSTA）和Visual Basic写过文档。在加入Microsoft之前，她是一个VBA开发者，为金融印刷及法律行业定制Word应用程序。Kathleen还创建了短录像，示范VSTO和Visual Basic的功能，这些录像放在她的博客上。
Paul Stubbs在Microsoft的Visual Studio Tools for Office（VSTO）组做程序经理。除了VSTO，Paul还和VSTA组合作为InfoPath 2007和独立软件供应商（ISV）开发新的托管代码应用程序的可编程开发工具。Paul为MSDN Magazine写过文章，也在诸如TechEd和TechReady的活动上演讲过。
媒体推荐
“真希望第一次接触VSTO和.NET Framework时就拥有这本书。它对于那些考虑VSTO以及从Office VBA转到Visual Basic的人都是极具价值的。广泛涉猎的主题为MSDN和其他地方的更加深入的面向开发者的文档提供了一个切入点。”
—Cindy Meister，MS Word MVP
“《VSTO入门经典》做了一件很好的事，在VBA和VSTO这两个世界之间架起了一座桥。Kathleen和Paul告诉我们，VBA开发者如何在拥有丰富的Office知识的同时也能获得Visual Studio的强大、可维护性和安全性。他们成功地写了一本容易接受、易于理解和令人信服的书。”
—KD Hallman，总经理，Microsoft，Developer Division
“对于想要转到使用Visual Studio Tools for Office为Office进行.NET开发的VBA开发者，这本书是一个不错的选择。很多示例都展示了VB代码和对应的VBA代码，帮助解释关键概念和用法的区别。”
—Steve Hansen
编辑推荐
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入门经典》的赞誉 1
译者序 2
译者简介 3
序 3
前言 5
介绍 5
致谢 8
作者简介 9
目录 9
第一部分 VSTO介绍 23
第1章 VSTO入门 23
1.1 本章涉及的主题 23
1.2 什么是VSTO？ 23
1.3 为什么用VSTO代替VBA？ 24
1.4 VSTO的功能 25
1.4.1 宿主项和宿主控件 26
1.4.2 Windows Forms控件 27
1.4.3 智能标记 28
1.4.4 定制任务窗格 28
1.4.5 在文档中缓存数据 29
1.4.6 托管插件 29
1.4.7 安全和部署 29
1.4.8 功能区支持 30
1.4.9 增强开发环境 30
1.5 创建VSTO解决方案 30
1.5.1 用VBA创建Office解决方案 30
1.5.2 用VSTO创建Office解决方案 31
1.5.3 项目类型 32
1.6 VSTO如何与Visual Studio集成 34
1.6.1 把Word和Excel当作设计器来用 34
1.6.2 VSTO中的代码文件 35
1.7 摘要 35
1.8 复习问题 36
第2章 编程环境 36
2.1 本章涉及的话题 36
2.2 Visual Studio IDE介绍 36
2.2.1 环境设置 37
2.2.2 创建Visual Studio Tools for Office项目 37
2.2.3 准予访问VBA项目系统 38
2.2.4 菜单和工具栏 38
2.3 查看IDE窗口 39
2.3.1 代码视图 39
2.3.2 探究Solution Explorer 40
2.3.3 Properties窗口 44
2.3.4 浏览Object Browser 45
2.3.5 项目属性 46
2.3.6 查看其他Visual Studio窗口 47
2.4 编码工具 48
2.4.1 使用智能感知 48
2.4.2 编辑并继续 52
2.5 构建和运行代码 52
2.6 调试你的代码 53
2.6.1 设置断点 55
2.6.2 逐语句、逐过程和跳出代码 56
2.6.3 试用调试工具 58
2.6.4 使用调试窗口 60
2.7 查找和使用帮助 63
2.7.1 目录 63
2.7.2 索引 64
2.7.3 搜索 64
2.7.4 如何实现 64
2.7.5 动态帮助 65
2.8 摘要 65
2.9 复习问题 65
第3章 托管代码介绍 66
3.1本章涉及的话题 66
3.2 什么是托管代码？ 66
3.3 面向对象编程介绍 67
3.3.1 理解类和对象 67
3.3.2 分部类 72
3.3.3 泛型类 73
3.3.4 接口 73
3.3.5 面向对象概念 74
3.4 探究 .NET Framework 75
3.4.1 程序集 75
3.4.2 命名空间 76
3.4.3 应用程序域 77
3.4.4 公共语言运行库 77
3.4.5 公共语言规范 79
3.4.6 .NET Framework类库 79
3.5 VSTO和托管代码 82
3.5.1 主互操作程序集 82
3.5.2 解决方案程序集 83
3.5.3 运行VSTO解决方案 84
3.6摘要 85
3.7复习问题 85
第4章 从VBA转到VSTO和Visual Basic 2005 85
4.1本章涉及的话题 85
4.2转到Visual Studio 2005 85
4.3 Visual Basic 2005的新功能 86
4.3.1 My对象 86
4.3.2智能感知代码段 88
4.3.3语句 89
4.3.4运算符 90
4.4 VBA和Visual Basic 2005在语言上的差别 91
4.4.1数据类型 91
4.4.2 方法 94
4.4.3 变量的声明和作用域 94
4.4.4 默认属性 95
4.4.5 枚举 96
4.4.6 异常处理 96
4.5 UserForm对Windows Forms 97
4.5.1 比较ActiveX控件和Windows Forms控件 98
4.5.2 控件功能的改变 103
4.6 摘要 106
4.7 复习问题 106
第二部分 Word和Excel 106
第5章 定制Word和Excel任务窗格 106
5.1 本章涉及的话题 107
5.2 什么是任务窗格？ 107
5.3 定制Document Actions任务窗格 108
5.4 管理操作窗格 109
5.4.1 管理操作窗格的大小和位置 109
5.4.2 显示和隐藏操作窗格 110
5.5 设计操作窗格解决方案 110
5.5.1 创建操作窗格解决方案 111
5.5.2 添加操作窗格控件 112
5.5.3 从文档访问操作窗格 112
5.5.4 从操作窗格访问文档 113
5.5.5 管理控件顺序 114
5.6 创建上下文相关的解决方案 115
5.6.1 创建XML架构 115
5.6.2 映射XML元素到你的文档 116
5.6.3 创建多个操作窗格控件 117
5.6.4 显示和隐藏操作窗格上的控件 117
5.6.5 向操作窗格控件添加功能 118
5.7 摘要 119
5.8 复习问题 119
第6章 使用VSTO定制Word 119
6.1 本章涉及的话题 119
6.2 对Word进行编程 120
6.2.1把录制的VBA宏转换成VSTO里的Visual Basic 121
6.2.2重写内置命令 122
6.3 Word宿主项和宿主控件 124
6.3.1向文档添加宿主控件 124
6.3.2从基础的互操作对象访问宿主控件 128
6.3.3从宿主控件访问互操作对象 129
6.4 对文档上的宿主控件进行数据绑定 129
6.4.1把数据绑定到控件 130
6.4.2在文档里缓存数据 132
6.5 对事件进行编程 132
6.5.1 Bookmark控件的事件 133
6.5.2 XMLNode控件的事件 138
6.5.3 XMLNodes控件的事件 140
6.5.4 Document的事件 140
6.6 对Bookmark的特别强化 145
6.7 使Word文档智能化 146
6.8 摘要 147
6.9 复习问题 147
第7章 使用VSTO定制Excel 148
7.1 本章涉及的话题 148
7.2 对Excel进行编程 148
7.2.1了解Excel对象模型 150
7.2.2把录制的VBA宏转换成VSTO里的Visual Basic 150
7.2.3写回调从VBA访问VSTO代码 151
7.3 Excel宿主项和宿主控件 153
7.3.1宿主项 153
7.3.2宿主控件 153
7.3.3向工作表添加宿主控件 154
7.3.4移除宿主控件 157
7.3.5在运行时添加宿主控件 157
7.3.6控件持久化 159
7.3.7从基础的互操作对象访问宿主控件 160
7.3.8从宿主控件访问互操作对象 160
7.3.9在Excel里添加宿主项 161
7.3.10 Excel的区域设置问题 161
7.4 对工作表上的宿主控件进行数据绑定 162
7.4.1创建数据源 162
7.4.2向工作表添加数据绑定控件 163
7.4.3使用关联数据 166
7.4.4在工作簿里缓存数据 166
7.5 对事件进行编程 167
7.5.1 NamedRange控件事件 167
7.5.2 ListObject控件事件 169
7.5.3 XMLMappedRange控件事件 172
7.5.4 Chart控件事件 173
7.5.5工作表事件 175
7.5.6图表工作表事件 177
7.5.7工作簿事件 177
7.6 使Excel更智能 180
7.7 摘要 181
7.8 复习问题 181
第8章 Word和Excel里的控件 181
8.1 本章涉及的话题 182
8.2 关于控件 182
8.3 向工具栏和菜单添加控件 182
8.3.1创建工具栏按钮 182
8.3.2创建菜单和菜单项 185
8.4 使用Windows Forms控件 186
8.5 向Windows Forms添加控件 193
8.6 向任务窗格添加控件 196
8.7 向Excel和Word文档添加控件 197
8.7.1 Word里的Windows Forms控件 198
8.7.2 Excel里的Windows Forms控件 199
8.7.3 添加数据绑定控件 200
8.7.4 向文档添加自定义控件 202
8.7.5 控件类型 203
8.7.6 在运行时添加控件 204
8.7.7 文档上的Windows Forms控件的功能 207
8.8 摘要 208
8.9 复习问题 208
第9章 Word和Excel里的智能标记 208
9.1 本章涉及的话题 209
9.2 什么是智能标记？ 209
9.3 用VSTO创建Word和Excel智能标记 210
9.4 理解智能标记的属性 212
9.4.1 Actions属性 212
9.4.2 Caption属性 212
9.4.3 Expressions属性 213
9.4.4 SmartTagType属性 213
9.4.5 Terms属性 213
9.5 在智能标记上执行操作 213
9.6 正则表达式介绍 215
9.6.1 使用正则表达式识别词组 215
9.6.2 识别文字模式 216
9.7 重写智能标记识别器 219
9.7.1 创建Word项目 220
9.7.2 运行代码 220
9.7.3 进入离线状态 221
9.8 摘要 222
9.9 复习问题 222
第三部分 Outlook和其他 222
第10章 使用VSTO为Outlook创建插件 222
10.1 本章涉及的话题 223
10.2 使用VSTO的应用程序级别的定制程序 223
10.2.1共享插件和VSTO插件之间的区别 224
10.2.2 Outlook插件项目模板 225
10.2.3把Outlook宏转换成VSTO插件 226
10.2.4创建一个简单的插件 227
10.2.5 Visual Studio里的智能感知 228
10.3 Outlook对象模型概述 229
10.3.1 Application对象 230
10.3.2 NameSpace对象 230
10.3.3 Explorer对象 230
10.3.4 Inspector对象 231
10.3.5 Outlook文件夹 231
10.3.6 Outlook项 232
10.3.7事件 233
10.4 定制Outlook里的菜单和工具栏 233
10.5 调试插件 234
10.6 使用VSTO创建的Outlook插件的安全性 237
10.7 摘要 240
10.8 复习问题 240
第11章 安全性和部署 240
11.1 本章涉及的话题 240
11.2 VSTO安全模型 240
11.3 部署Word和Excel解决方案 243
11.3.1客户端要求 243
11.3.2 Microsoft PSS VSTO 2005 Client TroubleShooter 244
11.3.3部署模型 244
11.3.4应用程序和部署清单 245
11.3.5部署任务 246
11.3.6 Public Wizard 246
11.3.7更新和回滚 250
11.3.8 Microsoft Installer项目 251
11.4 部署Outlook解决方案 253
11.5 摘要 253
11.6 复习问题 253
第12章 把VBA解决方案迁移到VSTO 254
12.1 本章涉及的话题 254
12.2 迁移概述 254
12.3 迁移策略 254
12.4 一个Word VBA项目的简单迁移 255
12.5 一个Word VBA项目的高级迁移 256
12.5.1复制Word模板 256
12.5.2从模板移除VBA代码和UserForm 257
12.5.3创建Windows窗体 257
12.5.4启动Windows窗体 258
12.5.5运行解决方案 258
12.5.6重新设计解决方案 258
12.5.7 Bookmark视图控件 259
12.5.8使用操作窗格 259
12.6 VBA和VSTO的互操作 260
12.7 摘要 262
12.8 复习问题 263
第13章 VSTO的高级话题 263
13.1 本章涉及的话题 263
13.2 ServerDocument概述 263
13.3 附加和分离基于文档的定制程序 264
13.2.1使用ServerDocument从文档分离解决方案 264
13.2.2使用ServerDocument向文档附加解决方案 264
13.2.3使用自定义文档属性向文档附加解决方案 265
13.4 读写数据缓存 265
13.4.1缓存数据结构 265
13.4.2创建一个有缓存数据的测试文档 266
13.4.3读取文档数据缓存 267
13.4.4运行解决方案 269
13.5 清除数据缓存 269
13.6 摘要 270
13.7 复习问题 270
第14章 VSTO 2005 SE和2007 Microsoft Office System 270
14.1 本章涉及的话题 270
14.2 VSTO 2005 SE入门 271
14.2.1所有发布版本里的功能 271
14.2.2 VSTO 2005 SE的插件模型 273
14.3 创建插件 275
14.4 定制功能区 276
14.4.1功能区项 276
14.4.2和XML协同工作 278
14.4.3定制内置的功能区 280
14.4.4向功能区添加其他控件 282
14.4.5快速访问工具栏 285
14.4.6不受支持的功能区功能 286
14.4.7 Outlook里的功能区 286
14.5 创建自定义任务窗格 289
14.5.1为PowerPoint创建插件 289
14.5.2打开和关闭自定义任务窗格 290
14.5.3管理多个Word文档上的任务窗格 291
14.5.4把文档级别的定制程序转换成VSTO 2005 SE插件 292
14.5.5显示多个任务窗格 293
14.6 创建自定义窗体区域 294
14.6.1创建Outlook窗体区域文件 294
14.6.2创建新的窗体区域 294
14.6.3保存窗体区域 295
14.6.4创建VSTO 2005 SE Outlook插件项目 295
14.6.5在你的项目里内嵌窗体区域 295
14.6.6创建和注册窗体区域清单 296
14.6.7创建窗体区域注册表文件 296
14.6.8创建窗体区域启动类 296
14.6.9 连接窗体区域控件 297
14.6.10 连接窗体区域 298
14.6.11运行项目 298
14.7 摘要 298
14.8 复习问题 299
附录A 创建代码段 299
A.1 导入代码段 300
A.2 插入代码段 300
A.3 使用Code Snippets Manager 301
附录B 创建Inspector CommandBar 301
……