2册:VSTO开发入门教程+VSTO开发中级教程、Office二次开发Office插件开发办公自动化百度网盘pdf下载
免费下载
书籍下载
内容介绍
书名: VSTO开发入门教程
作者: 刘永富
定价: 45.00元
ISBN编号: 9787302453710
开本: 16开
是否是套装: 否
出版社名称: 清华大学出版社
本书从初学者角度出发,详细介绍了使用C#语言进行VSTO开发需要掌握的知识。全书分为12章,内容包括VSTO入门概述、C#语法基础、C#进阶技术、C#操作Excel对象、创建Office外接程序、自定义Office功能区、自定义任务窗格、自定义工具栏,VSTO外接程序的部署分发、VSTO开发Office文档、VSTO开发资源大全、C#与VB/VBA语言的差异对比。书中所有章节涉及的程序代码都给出了详细的注释。本书可以让读者轻松熟悉Visual Studio开发环境,跨入C#编程的门槛,掌握VSTO开发的步骤。 本书可作为职场办公人员、高校理工科师生、Office专业开发人员自学用书,也可以作为Office编程培训讲师的教学参考书。
第1章VSTO入门概述1 1.1VSTO简述1 1.1.1VSTO的功能与特点1 1.1.2VSTO开发语言2 1.1.3VSTO开发环境配置3 1.1.4VisualStudio开发环境4 1.1.5VisualStudio版本沿革4 1.1.6VisualStudio的安装4 1.2创建第一个C#应用程序5 1.2.1控制台应用程序5 1.2.2Windows窗体应用程序9 1.2.3生成可执行文件11 1.3认识VisualStudio开发环境11 1.3.1【文件】菜单12 1.3.2【视图】菜单12 1.3.3【项目】菜单12 1.3.4菜单栏和工具栏的自定义13 1.3.5VisualStudio选项14 1.4VisualStudio项目组织结构14 1.4.1解决方案14 1.4.2项目17 1.4.3类模块18 1.4.4引用管理18 1.5使用帮助系统19 1.5.1设置帮助查看方式19 1.5.2和安装HelpViewer19 1.5.3管理帮助内容19 本章要点回顾21 第2章C#语法基础22 2.1变量的声明和赋值22 2.1.1常用的数据类型22 2.1.2赋值运算符23 2.1.3变量的作用范围23 2.2字符与字符串处理24 2.2.1字符变量24 2.2.2字符串变量25 2.2.3转义字符26 2.2.4字符串连接27 2.2.5子字符串27 2.2.6格式化字符串28 2.2.7字符串的替换28 2.2.8字符串与数组28 2.3逻辑运算29 2.3.1布尔型变量29 2.3.2比较运算符30 2.3.3多条件的与或非运算30 2.4不同类型的强制转换31 2.4.1ToString31 2.4.2Parse31 2.4.3Convert32 2.5使用数组33 2.5.1数组的声明和初始化33 2.5.2一维数组33 2.5.3数组元素的遍历34 2.5.4二维数组35 2.6条件选择语句37 2.6.1三元运算符37 2.6.2if语句38 2.6.3switch语句39 2.7循环语句40 2.7.1while循环40 2.7.2do循环41 2.7.3for循环42 2.7.4foreach循环43 2.8流程控制语句43 2.8.1break语句43 2.8.2continue语句44 2.8.3goto语句44 2.8.4return语句45 2.9输出对话框(MessageBox)46 2.9.1MessageBox语法46 2.9.2自定义对话框的按钮47 2.9.3自定义对话框的图标48 2.9.4自定义对话框默认按钮48 2.9.5处理对话框的用户响应48 2.10输入对话框(InputBox) 49 2.11过程与函数50 2.11.1过程与函数的定义50 2.11.2过程与函数的调用51 2.12类的创建和使用52 2.12.1非静态类52 2.12.2静态类54 2.13using指令55 2.14错误处理55 本章要点回顾56 第3章C#进阶技术57 3.1文件与文件夹操作57 3.1.1System.IO命名空间57 3.1.2文件与文件夹处理实例58 3.2文本文件的读写59 3.3数据库操作60 3.4使用资源文件61 3.4.1添加资源文件62 3.4.2资源文件中的字符串62 3.4.3资源文件中的图像63 3.5使用正则表达式65 3.5.1创建Regex对象65 3.5.2元字符65 3.5.3正则表达式选项66 3.5.4正则表达式方法67 3.5.5正则表达式测试器71 3.6使用字典72 3.6.1字典对象的创建72 3.6.2根据键检索值73 3.6.3遍历所有键名74 3.6.4遍历所有值74 3.6.5去除重复74 3.7窗体设计技术76 3.7.1窗体的显示76 3.7.2窗体的卸载77 3.7.3窗体与控件的事件78 3.7.4使用窗体菜单82 3.7.5使用工具栏85 3.7.6使用右键菜单87 3.7.7使用状态栏88 3.7.8使用文件选择对话框90 3.7.9运行期间动态增删控件91 3.8使用WindowsAPI函数94 3.8.1窗口类名和句柄95 3.8.2 使用Spy++98 3.8.3 使用UseAPI100 3.8.4获取光标位置101 本章要点回顾101 第4章C#操作Excel对象102 4.1 Excel对象模型概述102 4.1.1Application对象103 4.1.2Workbook对象104 4.1.3Worksheet对象104 4.1.4Range对象105 4.1.5Window对象105 4.2 创建可以访问Excel对象的C#窗体 应用程序105 4.2.1添加Excel2010对象引用105 4.2.2添加Office2010对象引用105 4.3操作Application对象107 4.3.1获取正在运行的Excel对象107 4.3.2创建新的Excel对象109 4.3.3Application对象常用属性109 4.3.4Application对象常用方法110 4.3.5Application对象常用事件110 4.3.6Application重要集合对象111 4.4操作Workbook对象112 4.4.1Workbook对象常用属性112 4.4.2Workbook对象常用方法113 4.4.3Workbook对象常用事件114 4.4.4Workbook重要集合对象114 4.5操作Worksheet对象115 4.5.1Worksheet对象常用属性115 4.5.2Worksheet对象常用方法116 4.5.3Worksheet对象常用事件117 4.6操作Range对象117 4.6.1Range对象常用属性117 4.6.2Range对象常用方法118 4.6.3Range对象的遍历119 4.6.4二维数组与Range数据交换120 4.6.5一维数组与Range数据交换121 4.7操作Commandbar对象121 4.8操作VBE工程123 4.8.1引用VBIDE类型库123 4.8.2允许对VBA工程访问123 4.8.3操作VBE各级对象125 4.9 创建Excel自定义函数125 4.9.1 使用C#创建类库126 4.9.2 工作表中使用C#开发的自定义 公式129 4.9.3 VBA中调用C#开发的自定义公式131 4.9.4 C#中调用C#开发的自定义公式131 4.9.5客户机使用C#制作的自定义函数132 本章要点回顾133 第5章创建Office外接程序134 5.1 OfficeCOM加载项简介134 5.2 认识OfficeCOM加载项管理 对话框134 5.3创建第一个Office外接程序项目135 5.4ThisAddin的启动事件和卸载事件136 本章要点回顾137 第6章自定义Office功能区138 6.1CustomUI概述138 6.1.1CustomUI的意义140 6.1.2CustomUI的作用范围140 6.1.3手工定制Office界面140 6.2CustomUI与XML141 6.2.1XML语法规则141 6.2.2描述Office界面的XML142 6.2.3使用RibbonXMLEditor148 6.3CustomUI元素详解149 6.3.1选项卡(tab)元素150 6.3.2组(group)元素151 6.3.3控件(control)元素151 6.4VSTO中使用功能区可视化 设计器154 6.4.1为按钮指定回调过程156 6.4.2Group中加入DialogBoxLauncher157 6.5使用XML进行CustomUI定制159 本章要点回顾162 第7章自定义任务窗格163 7.1任务窗格行为控制163 7.2VSTO外接程序项目中添加任务 窗格164 7.2.1创建Excel2010外接程序165 7.2.2添加用户控件165 7.2.3静态类中声明任务窗格对象166 7.2.4创建并显示任务窗格167 7.3功能区与任务窗格的交互控制169 7.3.1利用功能区切换按钮控制任务窗格的 显示隐藏169 7.3.2处理自定义任务窗格事件172 7.3.3卸载任务窗格173 本章要点回顾173 第8章自定义工具栏174 8.1Office工具栏对象简述174 8.1.1Commandbar对象174 8.1.2CommandbarControl对象175 8.1.3自定义工具栏的作用和意义176 8.2VSTO实现自定义工具栏176 8.2.1创建自定义工具栏176 8.2.2处理工具栏按钮的回调178 8.2.3修改右键菜单179 8.2.4卸载外接程序时清除自定义180 本章要点回顾181 第9章VSTO外接程序的部署分发182 9.1客户机搭建VSTO运行环境182 9.2VSTO外接程序的简单安装183 9.3使用AdvancedInstaller184 9.3.1创建aip安装包工程184 9.3.2客户机运行安装包193 本章要点回顾194 第10章VSTO开发Office文档195 10.1文档自定义项编程概述195 10.2文档自定义项允许添加的界面 元素195 10.3创建Office文档项目196 10.3.1文档上添加C#控件198 10.3.2文档项目的启动事件过程198 10.4文档操作窗格概述199 10.5文档操作窗格综合实例200 10.5.1添加用户控件到文档窗格202 10.5.2添加多个相同控件到文档窗格204 10.5.3使用代码创建窗体控件并添加到 文档操作窗格205 10.5.4定制功能区按钮控制文档操作 窗格206 10.6文档自定义项的部署分发210 本章要点回顾211 第11章VSTO开发资源大全212 11.1Office2003以下版本工具栏和控件的 自定义212 11.1.1OfficeCommandbarDesigner212 11.1.2OfficeCommandbarViewer213 11.1.3FaceIDViewer213 11.2Office2007以上版本功能区的 自定义215 11.2.1Office2010ControlIDs215 11.2.2imageMso7345216 11.2.3OfficeCustomUIEditor217 11.2.4RibbonXMLEditor217 11.2.5Ribbon回调函数大全217 11.3编程环境辅助工具218 11.3.1VBE2014219 11.3.2VisualStudioAddin2016220 第12章C#与VB/VBA语言的差异 对比222 12.1变量必须声明222 12.2严格的类型匹配222 12.3项目的自动保存222 12.4严格区分大小写223 12.5语句结束必须加分号223 12.6语句块223 12.7调用其他函数圆括号不能少224 12.8数组的下标为0224 12.9数组或集合对象的索引使用 方括号225
书名: VSTO开发中级教程
作者: 刘永富
定价: 99.00元
ISBN编号: 9787302537762
开本: 16开
是否是套装: 否
出版社名称: 清华大学出版社
本书由软件开发专家根据自己十余年VBA开发经验编写而成,深入阐释VSTO开发。全书内容体系完善,知识点高阶,案例丰富,让读者身临其境体会VSTO编程策略和魅力。 全书共20章,全面介绍VSTO开发的环境要求和配置、VSTO项目的概念和实现方法,主要内容包括Visual Studio的安装和使用、VB.NET语言基础和进阶技术、VSTO外接程序项目的开发、使用功能区可视化设计器以及Ribbon XML进行customUI设计、自定义任务窗格、文档自定义项的开发、Excel-DNA开发自定义公式和加载项等核心技术。 本书内容由浅入深、难易结合,兼顾不同基础和水平的读者。采用VB.NET语言作为VSTO的开发语言,适合于具有VBA、VB6编程基础的人员学习和研究。由于C#和VB.NET同属.NET语言,因此本书也适合使用C#进行VSTO开发的人员参考学习。 另外,本书使用的案例内容丰富、重点突出,所处理的对象是Windows用户经常遇到的问题,因此普适性强,从事其他编程语言的开发人员亦可将本书作为参考书。
第1章 VSTO开发综述 1
1.1 Office开发方式的选择 ? 1
1.1.1 VBA ? 2
1.1.2 VB6 ? 2
1.1.3 VSTO ? 2
1.1.4 用户自定义函数的开发 ? 3
1.2 VB.NET语言概述 ? 4
1.2.1 VB.NET和 VB6的关系 ? 4
1.2.2 VB.NET和 VB6程序结构的差别 4
1.3 Office界面方案的选择 ? 5
1.3.1 customUI设计 6
1.3.2 工具栏设计 6
1.3.3 任务窗格设计 ? 7
1.4 VSTO开发环境的选择 ? 8
1.5 小结 8
第2章 Visual Studio的安装和使用 ? 9
2.1 Visual Studio 2017的安装 ? 9
2.1.1 安装引导程序的 9
2.1.2 系统需求和安装环境确认 ?11
2.1.3 Visual Studio 2007 Professional的安装 11
2.1.4 Visual Studio的启动 15
2.1.5 Visual Studio的修复和卸载 ?15
2.2 项目管理 ?16
2.2.1 创建 VSTO项目 ?17
2.2.2 项目模板 18
2.2.3 创建时保存新项目 19
2.2.4 与项目有关的快捷键 ?20
2.3 Visual Studio的选项设置 ?20
2.3.1 更改默认开发语言 21
2.3.2 更改 Visual Studio界面语言 22
2.3.3 更改代码风格 23
2.4 代码编写技巧 ?24
2.4.1 代码的自动完成 ?24
2.4.2 智能提示 24
2.4.3 查看定义 24
2.4.4 变量的重命名 25
2.4.5 查找和替换 ?26
2.5 #常用的对话框 27
2.6 小结 ?27
第3章 VB.NET语言基础 29
3.1 VB.NET程序的编译和运行 30
3.1.1 使用 vbc.exe编译程序 ?30
3.1.2 第#一个 VB.NET程序 ?31
3.1.3 使用 Visual Studio进行 VB.NET编程 ?32
3.2 VB.NET语法基础 34
3.2.1 变量、常量和赋值 35
3.2.2 字符和字符串 36
3.2.3 日期时间类型 36
3.2.4 整数类型 40
3.2.5 布尔和逻辑运算 ?41
3.2.6 新增赋值运算符 ?43
3.2.7 信息输入和结果输出 ?43
3.2.8 输入和输出对话框 45
3.3 类型的判断和转换 ?49
3.3.1 编译选项设置 49
3.3.2 判断数据、变量的类型 50
3.3.3 类型转换 51
3.4 String.Format方法 52
3.4.1 对号入座 52
3.4.2 格式化数字 ?53
3.4.3 格式化日期和时间 55
3.5 ToString方法 56
3.6 数组 ?56
3.6.1 一维数组 57
3.6.2 数组的排序和倒序 60
3.6.3 数组的去重 ?60
3.6.4 数组统计 61
3.6.5 两个数组的集合运算 ?61
3.6.6 一维数组与字符串相互转换 62
3.6.7 二维数组 63
3.6.8 数组维数的判断 ?63
3.7 条件选择 ?64
3.7.1 If...Else结构 64
3.7.2 Select...Case结构 65
3.8 循环结构 ?66
3.8.1 Do...Loop循环 ?66
3.8.2 While循环 67
3.8.3 For循环 ?67
3.8.4 For...Each循环 ?68
3.9 匿名用法 ?69
3.9.1 匿名类 ?69
3.9.2 匿名过程 70
3.9.3 匿名函数 71
3.10 List泛型类 ?71
3.10.1 泛型类与数组的转换 72
3.10.2 数组的过滤?72
3.10.3 泛型类的过滤 ?73
3.11 异常处理 73
3.11.1 异常原因分析 ?74
3.11.2 异常分类处理 ?74
3.12 项目组织 76
3.12.1 项目中添加文件 76
3.12.2 调用 Module中的内容 77
3.12.3 类的创建和使用 78
3.13 项目的引用管理 ?79
3.13.1 外部引用的添加和移除 ?79
3.13.2 使用 Imports指令 81
3.14 小结 ?82
第4章 VB.NET窗体应用程序 83
4.1 窗体 ?83
4.1.1 窗体的创建和显示 83
4.1.2 窗体的添加 ?85
4.1.3 自动创建窗体 87
4.1.4 窗体的隐藏和卸载 88
4.2 控件的属性 89
4.2.1 常规属性设置 89
4.2.2 改变控件的位置和大小 91
4.2.3 通过 Anchor属性设置控件基准点 ?92
4.2.4 通过 Dock属性设置控件的扩展 93
4.2.5 使用 Splitter控件手动调整控件分布 94
4.3 控件的事件 95
4.3.1 使用 WithEvents为控件添加事件 95
4.3.2 使用 AddHandler和RemoveHandler添加和移除事件 ?97
4.3.3 按键事件 100
4.3.4 窗体的 KeyPreview属性 ? 101
4.3.5 鼠标单击事件 102
4.3.6 调用事件过程 103
4.4 专业窗体设计 ? 104
4.4.1 主菜单的设计 104
4.4.2 打开和保存对话框 105
4.4.3 创建右键快捷菜单 107
4.4.4 创建工具栏 ? 109
4.4.5 创建状态栏 ? 110
4.5 自动添加和删除控件 111
4.5.1 自动添加控件 111
4.5.2 自动删除控件 112
4.5.3 自动添加控件数组 112
4.6 小结 ? 114
第5章 VB.NET控件技术 115
5.1 文本编辑类控件 115
5.1.1 TextBox 115
5.1.2 RichTextBox 116
5.1.3 MaskedTextBox 117
5.2 标签类控件 118
5.2.1 Label ? 119
5.2.2 LinkLabel ? 119
5.3 选择类控件 120
5.3.1 CheckBox ? 120
5.3.2 RadioButton 121
5.4 列表条目类控件 121
5.4.1 ComboBox 121
5.4.2 ListBox 122
5.4.3 CheckedListBox 124
5.5 数值调节类控件 125
5.5.1 HScrollBar和 VScrollBar 125
5.5.2 TrackBar ? 126
5.5.3 NumericUpDown 126
5.5.4 DomainUpDown ? 127
5.6 状态提示类控件 128
5.6.1 N0tifyIcon ? 128
5.6.2 ProgressBar ? 128
5.6.3 ToolTip 129
5.7 图片类控件 130
5.7.1 PictureBox 130
5.7.2 ImageList 130
5.8 日期时间类控件 132
5.8.1 DateTimePicker 132
5.8.2 Timer ? 133
5.8.3 St0pwatch对象? 134
5.9 其他控件 ? 135
5.9.1 WebBrowser 135
5.9.2 WindowsMediaPlayer ? 136
5.9.3 PropertyGrid 137
5.9.4 FileSystemWatcher 139
5.10 表格控件 DataGridView 141
5.10.1 显示Access数据库中的查询结果 141
5.10.2 显示DataTable对象中的数据 ? 143
5.10.3 处理选中的行 ? 144
5.10.4 导出DataGridView数据到 Excel ? 145
5.11 列表控件 ListView 146
5.11.1 显示ADODB查询 Access的结果 148
5.11.2 处理选中的行 ? 149
5.11.3 导出 ListView数据到 Excel 150
5.12 树状控件 TreeView ? 151
5.12.1 节点的添加和移除 ? 152
5.12.2 处理选中的节点 154
5.12.3 节点的遍历 154
5.13 选项卡控件 TabControl 155
5.13.1 编辑选项卡 155
5.13.2 处理选中的选项卡 ? 156
5.13.3 显示和隐藏选项卡 ? 157
5.13.4 动态增删选项卡 158
5.13.5 遍历选项卡 158
5.14 图表控件 Chart 159
5.14.1 图表的数据源 ? 160
5.14.2 图表的标题 164
5.14.3 图表的图例 165
5.14.4 数据系列 166
5.14.5 图表区域 167
5.15 小结 ? 169
第6章 VB.NET GDI+编程基础 170
6.1 图形对象 ? 170
6.1.1 绘图方法 171
6.1.2 坐标系 ? 171
6.2 结构数组 ? 172
6.2.1 画笔 172
6.2.2 画刷 173
6.2.3 点和点数组 ? 173
6.2.4 矩形框和矩形框数组 ? 173
6.3 绘图实例分析 ? 174
6.3.1 直线、多义线、多边形的绘制 174
6.3.2 矩形的绘制 ? 175
6.3.3 椭圆、弧线、扇形的绘制 ? 176
6.3.4 实心填充图形的绘制 ? 177
6.3.5 文字的绘制 ? 178
6.3.6 利用 Paint事件自动重绘 ? 179
6.4 坐标系变换 180
6.4.1 坐标系平移 ? 180
6.4.2 坐标系旋转 ? 181
6.4.3 坐标系缩放 ? 181
6.5 小结 ? 182
第7章 VB.NET进阶技术 183
7.1 使用 StringBuilder 183
7.1.1 追加字符串 ? 184
7.1.2 插入、移除和替换操作 185
7.2 使用字典 ? 186
7.2.1 利用字典去除重复项 ? 186
7.2.2 利用字典实现查询功能 187
7.2.3 字典的遍历 ? 188
7.3 使用哈希表 189
7.3.1 添加和移除键值对 189
7.3.2 遍历键值对 ? 190
7.4 使用正则表达式 190
7.4.1 验证 191
7.4.2 查找 192
7.4.3 替换 193
7.4.4 分隔 194
7.4.5 正则表达式选项 ? 194
7.4.6 直接使用正则表达式 ? 195
7.4.7 分组 196
7.5 目录和文件操作 197
7.5.1 使用 DriveInfo获取磁盘驱动器
7.5.2 使用 Directory.GetDirectories获取子文件夹 199
7.5.3 使用 Directory.GetFiles获取文件夹下所有文件 200
7.5.4 使用 DirectoryInfo获取文件夹信息 200
7.5.5 使用 FileInfo获取文件信息 ? 200
7.5.6 使用 Path进行路径操作 ? 201
7.5.7 Directory类的方法 201
7.5.8 File类的方法 ? 202
7.6 文本文件的读写 202
7.6.1 读取文件内容 202
7.6.2 写入和追加内容到文本文件 204
7.6.3 使用 StreamWriter和 StreamReader读写文本文件 204
7.7 MD5加密 205
7.7.1 字符串的 MD5加密 206
7.7.2 文件的 MD5计算 ? 206
7.8 GUID的生成 207
7.9 XML文件的读写 ? 208
7.9.1 使用 XMLWriter创建 XML文件 ? 209
7.9.2 使用 XMLReader读取 XML内容 ? 211
7.9.3 使用 XML DOM创建 XML ? 211
7.9.4 使用 XML DOM读取 XML文件 ? 213
7.10 使用 API函数 ? 213
7.10.1 API函数的声明 214
7.10.2 API结构类型的声明 214
7.10.3 API常量的声明 215
7.10.4 句柄、类名和标题 ? 215
7.10.5 修改窗口和控件的文字 ? 216
7.11 发送邮件 218
7.11.1 启用邮箱的 SMTP服务 ? 218
7.11.2 使用 CDO ? 219
7.11.3 使用 Net.Mail ? 221
7.12 读写注册表 ? 223
7.12.1 认识注册表的结构 ? 223
7.12.2 RegistryKey对象? 224
7.12.3 打开子项 225
7.12.4 获取所有键值信息 ? 227
7.12.5 获取所有子项 ? 227
7.12.6 创建子项 229
7.12.7 修改和删除键值 229
7.12.8 删除子项 230
7.13 操作进程 230
7.13.1 创建进程 231
7.13.2 查看进程 232
7.13.3 结束进程 233
7.13.4 进程退出事件 ? 234
7.14 类库项目的创建和调用 234
7.14.1 被 VB.NET程序调用的类库项目 235
7.14.2 被 VBA程序调用的类库项目 239
7.15 小结 ? 243
第8章 VB.NET操作 Office对象 244
8.1 操作 Excel应用程序对象 ? 244
8.1.1 获取正在运行的 Excel 245
8.1.2 创建 Excel应用程序对象 246
8.1.3 调用 Excel工作表函数 ? 247
8.1.4 调用 VBA中的过程和函数 247
8.1.5 使用单元格选择对话框 248
8.2 操作 Excel工作簿 248
8.2.1 工作簿的新建和保存 ? 248
8.2.2 工作簿的打开和关闭 ? 249
8.3 操作 Excel工作表 249
8.3.1 工作表的插入和删除 ? 249
8.3.2 工作表的移动和复制 ? 250
8.4 操作 Excel单元格 250
8.4.1 单元格的遍历 250
8.4.2 单元格接收一维数组 ? 251
8.4.3 单元格接收二维数组 ? 251
8.4.4 数组接收单元格 ? 252
8.5 处理 Excel中的事件 ? 253
8.5.1 使用 WithEvents创建 Excel事件 253
8.5.2 使用 AddHandler和 RemoveHandler处理 Excel事件 254
8.6 操作其他 Office对象 257
8.6.1 自定义 Office工具栏 ? 257
8.6.2 文件选择对话框 ? 259
8.6.3 操作 VBE ? 261
8.7 ADO.NET操作 Access数据库 ? 263
8.7.1 连接数据库 ? 264
8.7.2 增加记录 265
8.7.3 删除记录 267
8.7.4 更新记录 267
8.7.5 返回标量 Select查询 267
8.7.6 遍历结果记录集 ? 267
8.7.7 生成 DataTable对象 268
8.7.8 断开数据库 ? 269
8.8 小结 ? 270
第9章 VSTO外接程序 ? 271
9.1 VSTO外接程序与 COM加载项 ? 271
9.2 开发环境配置 ? 272
9.3 Office主互操作程序集 273
9.3.1 PIA的副本 ? 273
9.3.2 添加其他 Office组件的引用 275
9.4 创建 VSTO外接程序项目 276
9.5 外接程序项目的调试 279
9.6 Visual Studio 2010 Tools for Office Runtime ? 282
9.7 VSTO外接程序项目中的引用和命名空间 ? 283
9.7.1 Excel对象类型 283
9.7.2 自定义 Office界面方面的命名空间 286
9.7.3 Excel的 VSTO对象类型 287
9.7.4 Office对象类型 288
9.8 COM加载项与注册表的关系 289
9.9 访问宿主应用程序的对象 291
9.9.1 调用 VBA中的过程和函数 292
9.9.2 自动断开 COM加载项 ? 292
9.10 VBA调用 VSTO中的过程和函数 292
9.11 外接程序项目允许包含的内容 ? 294
9.12 小结 ? 294
第10章 使用功能区可视化设计器 ? 295
10.1 可视化设计器的基本用法 ? 295
10.1.1 在内置选项卡中定制 296
10.1.2 自定义新选项卡 300
10.1.3 Group中加入 DialogBoxLauncher 302
10.2 可视化设计器的文件构成 ? 303
10.2.1 查看可视化设计器源文件 304
10.2.2 限制控件标题的自动换行 305
10.2.3 可视化设计器的事件文件 306
10.3 可视化设计器对象模型 306
10.3.1 OfficeMenu 307
10.3.2 功能区控件 309
10.3.3 Button 309
10.3.4 通用属性 310
10.3.5 EditBox 310
10.3.6 CheckBox和 ToggleButton ? 311
10.3.7 ComboBox和 DropDown ? 312
10.3.8 Gallery ? 314
10.3.9 Menu、SplitButton和 Separator? 316
10.4 CreateRibbonExtensibilityObject函数 317
10.4.1 选择性加载指定的可视化设计器 ? 318
10.4.2 使用代码自动添加和移除功能区控件 319
10.5 操作运行时的可视化设计器 323
10.5.1 利用 IRibbonUI对象激活选项卡 ? 323
10.5.2 遍历和读写功能区控件 ? 323
10.6 修改可视化设计器的默认模板 ? 324
10.6.1 内置选项卡改为自定义选项卡 ? 325
10.6.2 移除默认的 Group1 326
10.7 小结 ? 326
第11章 使用 XML实现 customUI 327
11.1 Ribbon XML概述 ? 327
11.1.1 可以定制的场所 328
11.1.2 使用方式 ? 328
11.2 VSTO项目中实现 Ribbon XML 329
11.2.1 创建 Ribbon类 ? 329
11.2.2 重写 CreateRibbonExtensibility -Object函数 ? 330
11.3 GetCustomUI函数 330
11.3.1 RibbonID参数 331
11.3.2 回调函数 ? 333
11.3.3 IRibbonUI对象 ? 334
11.3.4 Ribbon XML代码的返回方式 335
11.4 Ribbon XML设计实例分步讲解 ? 336
11.4.1 使用类创建 Ribbon接口 336
11.4.2 回调函数的查询 340
11.4.3 使用 Visual Studio的 XML编辑器 341
11.4.4 使用外部 XML文件 ? 344
11.4.5 动态生成 XML代码 ? 346
11.5 其他控件和回调处理 ? 348
11.5.1 处理以 on开头的回调函数 348
11.5.2 处理以 get开头的回调函数 351
11.6 使用自定义图标 ? 354
11.6.1 loadImage-image 354
11.6.2 getImage ? 358
11.7 小结 363
第12章 自定义任务窗格 ? 364
12.1 创建任务窗格 364
12.2 处理任务窗格的可见性 367
12.3 处理任务窗格的停靠位置 ? 368
12.4 任务窗格操作 Office对象 ? 369
12.5 使用任务窗格的事件 ? 370
12.5.1 任务窗格的可见性同步 customUI控件 370
12.5.2 通过任务窗格的停靠位置改变控件布局 373
12.6 处理新窗口的任务窗格 375
12.7 任务窗格中加入 WPF用户控件 ? 379
12.8 小结 ? 384
第13章 VSTO开发项目实战 385
13.1 Excel外接程序开发:数组公式的自动扩展 386
13.2 Word外接程序开发:表格内容自动汇总工具 389
13.3 PowerPoint外接程序开发:幻灯片导出为图片 391
13.4 Outlook外接程序开发:来信自动执行任务 395
13.5 小结 ? 398
第14章 VSTO外接程序的打包与发布 ? 399
14.1 简单发布 399
14.1.1 从部署文件中获取安装信息 ? 400
14.1.2 写入注册信息 ? 401
14.1.3 删除注册信息 ? 401
14.1.4 使用 VBA实现自动安装和卸载 Office外接程序 401
14.2 使用 Inno Setup制作安装包 404
14.2.1 iss脚本文件的构成 404
14.2.2 制作 iss脚本文件 405
14.2.3 产品的安装和卸载 ? 407
14.2.4 使用 iss模板文件 408
14.3 小结 ? 409
第15章 开发Office文档 ? 410
15.1 创建 Excel工作簿项目? 410
15.2 使用 Office事件 ? 412
15.3 添加 customUI ? 414
15.4 使用文档操作窗格 416
15.5 NamedRange宿主控件 ? 419
15.6 ListObject宿主控件 423
15.7 运行时动态增删宿主控件 ? 428
15.8 VSTO外接程序向工作表增删控件 431
15.9 Office文档的发布 ? 433
15.10 创建 Word文档项目 433
15.11 文档上添加宿主控件 ? 436
15.12 小结 439
第16章 Office 2003的 VSTO开发 440
16.1 开发环境配置 440
16.1.1 Office 2003的安装 ? 440
16.1.2 Visual Studio 2008的安装 441
16.1.3 安装 Office 2003补丁 ? 443
16.2 Office 2003外接程序 ? 444
16.3 Office 2003文档自定义项 ? 446
16.3.1 Excel 2003工作簿的开发 446
16.3.2 Word 2003文档的开发 450
16.4 小结 ? 452
第17章 Excel-DNA开发入门 453
17.1 Excel-DNA入门概述 ? 453
17.1.1 Excel-DNA开发的意义和优势 453
17.1.2 Excel-DNA与 VSTO的比较 454
17.1.3 认识 Excel-DNA开发包 454
17.1.4 Excel-DNA的加载方式 ? 455
17.2 .NET程序的编译 ? 456
17.2.1 编译生成 .exe可执行文件 ? 458
17.2.2 编译生成 .dll动态链接库 459
17.3 使用记事本创建 Excel-DNA项目 ? 459
17.3.1 dna文件的部署 460
17.3.2 dll文件的生成 460
17.3.3 xll文件的拷贝 461
17.3.4 功能测试 461
17.4 Excel-DNA项目的打包 463
17.5 小结 ? 464
第18章 Excel-DNA函数设计 465
18.1 自定义函数的属性修饰 465
18.1.1 更改函数的属性 465
18.1.2 更改函数参数属性 ? 466
18.2 函数的参数类型 ? 468
18.2.1 工作表的一行或者一列作为参数 469
18.2.2 工作表的矩形区域作为参数 470
18.3 函数的返回值类型 471
18.3.1 返回一维数组 ? 471
18.3.2 返回二维数组 ? 472
18.4 小结 ? 473
第19章 使用Visual Studio进行 Excel-DNA开发 ? 474
19.1 创建 Excel-DNA类库项目 475
19.1.1 添加 ExcelDna.Integration引用 475
19.1.2 修改函数代码 ? 477
19.1.3 添加 dna文件 ? 477
19.1.4 生成 dll文件 479
19.2 Excel VBA中调用 Excel-DNA加载项中的函数和过程 481
19.3 Excel-DNA项目的启动和卸载事件 482
19.4 自定义函数和参数的智能感知设计 484
19.4.1 独立加载
19.4.2 引用并打包 ExcelDna.IntelliSense.dll 486
19.5 Excel-DNA项目的调试 490
19.6 Excel-DNA中使用 customUI ? 493
19.6.1 考虑 Excel版本 498
19.6.2 使用自定义图标 500
19.7 Excel-DNA中使用任务窗格 503
19.8 Excel-DNA中使用 Excel事件 ? 506
19.9 Excel-DNA中使用 Office工具栏 ? 510
19.10 使用 NuGet程序包管理器快速创建 Excel-DNA项目 515
19.10.1 工作表标签右键菜单设计 517
19.10.2 排序功能设计 ? 520
19.11 小结 523
第20章 语言差异和转换技巧 524
20.1 VB.NET与 VBA的语言差异 ? 524
20.1.1 My对象 524
20.1.2 Continue和自身赋值语句 526
20.1.3 字符串是对象 ? 526
20.1.4 不能使用默认属性 ? 526
20.1.5 调用过程、函数、对象的方法必须使用圆括号 527
20.1.6 窗体和控件的变化 ? 527
20.1.7 颜色的设置和获取 ? 527
20.2 VB.NET与 C#的语言差异 ? 529
20.2.1 程序结构 529
20.2.2 命名空间的导入方式 530
20.2.3 数据类型关键字 530
20.2.4 变量、常量的声明方式 ? 530
20.2.5 过程、函数的声明和调用方式 530
20.2.6 类型转换方式 ? 531
20.2.7 比较运算符 531
20.2.8 逻辑运算符 531
20.2.9 字符串连接 531
20.2.10 条件选择结构 ? 532
20.2.11 循环结构 ? 532
20.2.12 数组的声明和元素的访问 533
20.2.13 特殊字符串常量的表达 ? 533
20.2.14 异常处理 ? 533
20.2.15 事件的动态增加和移除 ? 534
20.3 VBA代码如何转换为 C# 534
20.3.1 补全 VBA代码 ? 534
20.3.2 VBA改写 C#的注意点 ? 535
20.3.3 Excel VBA转 C#? 537
20.3.4 Outlook VBA转 C# 538
20.4 小结 ? 539