中文版Excel 2016高级VBA编程宝典(第8版)(办公大师经典丛书)

中文版Excel 2016高级VBA编程宝典(第8版)(办公大师经典丛书) pdf epub mobi txt 电子书 下载 2025

[美] Michael,Alexander,Dick,Kusleika 著
图书标签:
  • Excel VBA
  • VBA编程
  • Excel 2016
  • 办公自动化
  • 办公软件
  • 编程技巧
  • 高级编程
  • 办公大师
  • 第8版
  • 中文版
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 清华大学出版社
ISBN:9787302471066
版次:1
商品编码:12209628
包装:平装
开本:16开
出版时间:2017-05-01
用纸:胶版纸
页数:626
字数:1036000

具体描述

编辑推荐

  本书针对Excel*新版本做了全面更新,内容新颖,助你开发大型和小型Excel应用。

  本书直抒主题,以读者为中心,摒弃华而不实的、冗长的解释,呈现紧贴实用的示例、注意事项和诀窍,提供大量代码和示例模板,助你从普通数据分析人员蜕变为Excel编程专家。


内容简介

  借助VBA成为Excel高级用户

  学习运用VBA语言的强大功能,将自己的Excel技能提升到全新水平!综合性指南 中文版Excel 2016高级VBA编程宝典(第8版) 将帮助你实现数据处理自动化,并开发出功能完备的Excel程序。本书针对Excel*新版本做了全面更新,内容新颖,助你开发大型和小型Excel应用。

  本书直抒主题,以读者为中心,摒弃华而不实的、冗长的解释,呈现紧贴实用的示例、注意事项和诀窍,提供大量代码和示例模板,助你从普通数据分析人员蜕变为Excel编程专家。


作者简介

  MichaelAlexander是微软认证的应用开发人员,已撰写多本MicrosoftAccess和Excel书籍。Michael的个人网站是datapigtechnologies.com。

  DickKusleika在最近15年的时间里,一直通过在线论坛、博客、图书和会议等渠道传播知识,帮助用户深入了解和最大限度地运用MicrosoftOffice产品。


目录

第Ⅰ部分 Excel VBA基础知识
第1章 电子表格应用开发入门 3
1.1 关于电子表格应用 3
1.2 应用开发的步骤 4
1.3 确定用户的需求 4
1.4 对满足这些需求的应用
进行规划 5
1.5 确定最适用的用户界面 6
1.5.1 自定义功能区 7
1.5.2 自定义快捷菜单 7
1.5.3 创建快捷键 7
1.5.4 创建自定义对话框 8
1.5.5 在工作表中使用
ActiveX控件 8
1.5.6 开始开发工作 10
1.6 关注最终用户 10
1.6.1 测试应用 10
1.6.2 应用的安全问题 11
1.6.3 如何让应用程序看起来更
简明美观 13
1.6.4 创建用户帮助系统 13
1.6.5 将开发成果归档 14
1.6.6 给用户发布应用程序 14
1.6.7 在必要时对应用进行更新 14
1.7 其他开发问题 14
1.7.1 用户安装的Excel版本 15
1.7.2 语言问题 15
1.7.3 系统速度 15
1.7.4 显示模式 15
第2章 VBA概述 17
2.1 宏录制器 17
2.1.1 创建你的第一个宏 17
2.1.2 比较宏录制的绝对模式和
相对模式 20
2.1.3 关于宏录制的其他概念 24
2.2 Visual Basic编辑器概述 28
2.2.1 了解VBE组件 28
2.2.2 使用工程资源管理器 29
2.2.3 使用代码窗口 31
2.2.4 自定义VBA环境 33
2.2.5 “编辑器格式”选项卡 34
2.2.6 “通用”选项卡 35
2.2.7 “可连接的”选项卡 35
2.3 VBA的基础知识 36
2.3.1 了解对象 36
2.3.2 了解集合 37
2.3.3 了解属性 37
2.4 使用Range对象 40
2.4.1 找到Range对象的属性 41
2.4.2 Range属性 41
2.4.3 Cells属性 42
2.4.4 Offset属性 44
2.5 需要记住的基本概念 45
2.6 学习更多信息 46
2.6.1 阅读本书剩余的章节 47
2.6.2 让Excel来帮助编写宏 47
2.6.3 使用帮助系统 47
2.6.4 使用对象浏览器 47
2.6.5 从网上获取 48
2.6.6 利用用户论坛 49
2.6.7 访问专家博客 49
2.6.8 通过YouTube查找视频 50

2.6.9 通过Microsoft OfficeDev
Center获取信息 50
2.6.10 解析其他的Excel文件 50
2.6.11 咨询周围的Excel人才 50
第3章 VBA编程基础 51
3.1 VBA语言元素概览 51
3.2 注释 53
3.3 变量、数据类型和常量 54
3.3.1 定义数据类型 55
3.3.2 声明变量 56
3.3.3 变量的作用域 58
3.3.4 使用常量 61
3.3.5 使用字符串 62
3.3.6 使用日期 62
3.4 赋值语句 63
3.5 数组 65
3.5.1 声明数组 66
3.5.2 声明多维数组 66
3.5.3 声明动态数组 66
3.6 对象变量 67
3.7 用户自定义的数据类型 68
3.8 内置函数 69
3.9 处理对象和集合 71
3.9.1 With-End With结构 72
3.9.2 For Each-Next结构 72
3.10 控制代码的执行 74
3.10.1 GoTo语句 74
3.10.2 If-Then结构 75
3.10.3 Select Case结构 78
3.10.4 指令块的循环 82
第4章 VBA的子过程 89
4.1 关于过程 89
4.1.1 子过程的声明 90
4.1.2 过程的作用域 90
4.2 执行子过程 91
4.2.1 通过“运行子过程/用户
窗体”命令执行过程 92
4.2.2 从“宏”对话框执行过程 92
4.2.3 用Ctrl+快捷键组合
执行过程 93
4.2.4 从功能区执行过程 94
4.2.5 从自定义快捷菜单中
执行过程 94
4.2.6 从另一个过程中执行过程 95
4.2.7 通过单击对象执行过程 98
4.2.8 在事件发生时执行过程 99
4.2.9 从“立即窗口”执行过程 100
4.3 向过程中传递参数 100
4.4 错误处理技术 103
4.4.1 捕获错误 104
4.4.2 错误处理示例 105
4.5 使用子过程的实际示例 108
4.5.1 目标 108
4.5.2 工程需求 108
4.5.3 已经了解的信息 108
4.5.4 解决方法 109
4.5.5 初步的录制工作 109
4.5.6 初始设置 111
4.5.7 代码的编写 112
4.5.8 排序过程的编写 112
4.5.9 更多测试 116
4.5.10 修复问题 117
4.5.11 实用程序的可用性 120
4.5.12 对工程进行评估 121
第5章 创建函数过程 123
5.1 子过程与函数过程的比较 123
5.2 为什么创建自定义的函数 124
5.3 自定义函数示例 124
5.3.1 在工作表中使用函数 125
5.3.2 在VBA过程中使用函数 125
5.3.3 分析自定义函数 126
5.4 函数过程 128
5.4.1 函数的作用域 129
5.4.2 执行函数过程 129
5.5 函数过程的参数 131
5.6 函数示例 132
5.6.1 无参数的函数 132
5.6.2 带有一个参数的函数 134
5.6.3 带有两个参数的函数 136
5.6.4 使用数组作为参数的函数 137
5.6.5 带有可选参数的函数 138
5.6.6 返回VBA数组的函数 140
5.6.7 返回错误值的函数 142
5.6.8 带有不定数量参数的函数 144
5.7 模拟Excel的SUM函数 145
5.8 扩展后的日期函数 148
5.9 函数的调试 149
5.10 使用“插入函数”对话框 150
5.10.1 使用MacroOptions方法 151
5.10.2 指定函数类别 152
5.10.3 手动添加函数说明 153
5.11 使用加载项存储自定义函数 154
5.12 使用Windows API 154
5.12.1 Windows API示例 155
5.12.2 确定Windows目录 155
5.12.3 检测Shift键 157
5.12.4 了解有关API函数的
更多信息 158
第6章 了解Excel事件 159
6.1 Excel可以监视的事件类型 159
6.1.1 了解事件发生的顺序 160
6.1.2 存放事件处理程序的位置 160
6.1.3 禁用事件 161
6.1.4 输入事件处理代码 162
6.1.5 使用参数的事件处理程序 163
6.2 工作簿级别的事件 165
6.2.1 Open事件 165
6.2.2 Activate事件 166
6.2.3 SheetActivate事件 166
6.2.4 NewSheet事件 167
6.2.5 BeforeSave事件 167
6.2.6 Deactivate事件 167
6.2.7 BeforePrint事件 168
6.2.8 BeforeClose事件 169
6.3 检查工作表事件 171
6.3.1 Change事件 171
6.3.2 监视特定单元格区域的
修改 172
6.3.3 SelectionChange事件 177
6.3.4 BeforeDoubleClick事件 177
6.3.5 BeforeRightClick事件 178
6.4 监视应用程序事件 179
6.4.1 启用应用程序级别的事件 180
6.4.2 确定工作簿何时被打开 180
6.4.3 监视应用程序级别的事件 181
6.5 访问与对象无关联的事件 182
6.5.1 OnTime事件 182
6.5.2 OnKey事件 184
第7章 VBA编程示例与技巧 189
7.1 通过示例学习 189
7.2 处理单元格区域 190
7.2.1 复制单元格区域 190
7.2.2 移动单元格区域 191
7.2.3 复制大小可变的
单元格区域 191
7.2.4 选中或者识别各种类型的
单元格区域 193
7.2.5 调整单元格区域大小 194
7.2.6 提示输入单元格中的值 195
7.2.7 在下一个空单元格中
输入一个值 196
7.2.8 暂停宏的运行以便获得
用户选中的单元格区域 197
7.2.9 计算选中单元格的数目 199
7.2.10 确定选中的单元格
区域的类型 199
7.2.11 有效地循环遍历选中的
单元格区域 201
7.2.12 删除所有空行 204
7.2.13 任意次数地复制行 205
7.2.14 确定单元格区域是否包含
在另一个单元格区域内 206
7.2.15 确定单元格的数据类型 207
7.2.16 读写单元格区域 208
7.2.17 在单元格区域中写入值的
更好方法 209
7.2.18 传递一维数组中的内容 211
7.2.19 将单元格区域传递给
Variant类型的数组 211
7.2.20 按数值选择单元格 212
7.2.21 复制非连续的单元格
区域 213
7.3 处理工作簿和工作表 215
7.3.1 保存所有工作簿 215
7.3.2 保存和关闭所有工作簿 216
7.3.3 隐藏除选区之外的区域 216
7.3.4 创建超链接内容表 217
7.3.5 同步工作表 218
7.4 VBA技巧 219
7.4.1 切换布尔类型的属性值 219
7.4.2 显示日期和时间 220
7.4.3 显示友好时间 222
7.4.4 获得字体列表 223
7.4.5 对数组进行排序 224
7.4.6 处理一系列文件 225
7.5 用于代码中的一些有用函数 227
7.5.1 FileExists函数 227
7.5.2 FileNameOnly函数 227
7.5.3 PathExists函数 228
7.5.4 RangeNameExists函数 228
7.5.5 SheetExists函数 229
7.5.6 WorkbookIsOpen函数 229
7.5.7 检索已经关闭的
工作簿中的值 230
7.6 一些有用的工作表函数 231
7.6.1 返回单元格的格式信息 232
7.6.2 会说话的工作表 233
7.6.3 显示保存或打印文件的
时间 233
7.6.4 理解对象的父对象 234

7.6.5 计算介于两个值之间的
单元格数目 235
7.6.6 确定行或列中最后一个
非空的单元格 236
7.6.7 字符串与模式匹配 237
7.6.8 从字符串中提取
第n个元素 238
7.6.9 拼写出数字 239
7.6.10 多功能函数 240
7.6.11 SHEETOFFSET函数 240
7.6.12 返回所有工作表中的
最大值 241
7.6.13 返回没有重复随机整数
元素的数组 242
7.6.14 随机化单元格区域 244
7.6.15 对单元格区域进行排序 245
7.7 Windows API调用 246
7.7.1 理解API声明 246
7.7.2 确定文件的关联性 247
7.7.3 确定默认打印机的信息 248
7.7.4 确定视频显示器的信息 249
7.7.5 读写注册表 250
第Ⅱ部分 高级VBA技术
第8章 使用透视表 255
8.1 数据透视表示例 255
8.1.1 创建数据透视表 256
8.1.2 检查录制的数据
透视表代码 257
8.1.3 整理录制的数据
透视表代码 258
8.2 创建更复杂的数据透视表 260
8.2.1 创建数据透视表的代码 261
8.2.2 更复杂数据透视表的
工作原理 262
8.3 创建多个数据透视表 263
8.4 创建转换的数据透视表 266

第9章 使用图表 269
9.1 关于图表 269
9.1.1 图表的位置 269
9.1.2 宏录制器和图表 270
9.1.3 Chart对象模型 270
9.2 创建嵌入式图表 271
9.3 在图表工作表上创建图表 273
9.4 修改图表 273
9.5 使用VBA激活图表 274
9.6 移动图表 275
9.7 使用VBA使图表取消激活 276
9.8 确定图表是否被激活 276
9.9 从ChartObjects或Charts
集合中删除图表 277
9.10 循环遍历所有图表 277
9.11 调整ChartObjects对象的
大小并对齐 280
9.12 创建大量图表 281
9.13 导出图表 283
9.14 修改图表中使用的数据 285
9.14.1 基于活动单元格修改
图表数据 286
9.14.2 用VBA确定图表中
使用的单元格区域 287
9.15 使用VBA在图表上显示
任意数据标签 289
9.16 在用户窗体中显示图表 292
9.17 理解图表事件 295
9.17.1 使用图表事件的一个
示例 295
9.17.2 为嵌入式图表启用事件 298
9.17.3 示例:在嵌入式图表上
使用图表事件 299
9.18 VBA制图技巧 301
9.18.1 在整个页面上打印
嵌入式图表 301
9.18.2 创建未链接的图表 301
9.18.3 用MouseOver事件
显示文本 303
9.18.4 滚动图表 305
9.19 使用迷你图 307
第10章 与其他应用程序的交互 311
10.1 了解Microsoft Office
自动化 311
10.1.1 了解绑定概念 311
10.1.2 一个简单的自动化示例 313
10.2 从Excel中自动执行
Access任务 314
10.2.1 从Excel中运行
Access查询 314
10.2.2 从Excel运行Access宏 315
10.3 从Excel自动执行Word任务 316
10.3.1 将Excel数据传递给
Word文档 316
10.3.2 模拟Word文档的邮件
合并功能 317
10.4 从Excel自动执行
PowerPoint任务 319
10.4.1 将Excel数据发送到
PowerPoint演示文稿中 319
10.4.2 将所有Excel图表发送到
PowerPoint演示文稿中 321
10.4.3 将工作表转换成PowerPoint
演示文稿 322
10.5 从Excel自动执行Outlook
任务 323
10.5.1 以附件形式发送活动
工作簿 324
10.5.2 以附件形式发送指定
单元格区域 324
10.5.3 以附件形式发送指定的
单个工作表 326
10.5.4 发送给联系人列表中的
所有Email地址 327
10.6 从Excel启动其他应用程序 328
10.6.1 使用VBA的Shell函数 328

10.6.2 使用Windows的ShellExecute
API函数 330
10.6.3 使用AppActivate语句 331
10.6.4 激活“控制面板”对话框 332
第11章 处理外部数据和文件 335
11.1 处理外部数据连接 335
11.1.1 手动创建连接 335
11.1.2 手动编辑数据连接 338
11.1.3 使用VBA创建动态连接 339
11.1.4 遍历工作簿中的所有连接 340
11.2 使用ADO和VBA来提取
外部数据 342
11.2.1 连接字符串 342
11.2.2 声明记录集 343
11.2.3 引用ADO对象库 344
11.2.4 以编程方式使用ADO
连接Access 344
11.2.5 对活动工作簿使用ADO 345
11.3 处理文本文件 348
11.3.1 打开文本文件 348
11.3.2 读取文本文件 349
11.3.3 编写文本文件 349
11.3.4 获取文件序号 349
11.3.5 确定或设置文件位置 349
11.3.6 读写语句 350
11.4 文本文件操作示例 350
11.4.1 导入文本文件的数据 350
11.4.2 将单元格区域的数据
导出到文本文件 351
11.4.3 将文本文件的内容导出到
单元格区域 352
11.4.4 记录Excel日志的用法 353
11.4.5 筛选文本文件 354
11.5 执行常见的文件操作 354
11.5.1 使用与VBA文件
相关的指令 355
11.5.2 使用FileSystemObject
对象 359
11.6 压缩和解压缩文件 361
11.6.1 压缩文件 362
11.6.2 解压缩文件 363
第Ⅲ部分 操作用户窗体
第12章 使用自定义对话框 367
12.1 创建用户窗体之前需要
了解的内容 367
12.2 使用输入框 367
12.2.1 VBA的InputBox函数 368
12.2.2 Excel的InputBox方法 370
12.3 VBA的MsgBox函数 373
12.4 Excel的GetOpenFilename
方法 377
12.5 Excel的GetSaveAsFilename
方法 380
12.6 提示输入目录名称 380
12.7 显示Excel的内置对话框 381
12.8 显示数据记录单 383
12.8.1 使得数据记录单变得
可以访问 383
12.8.2 通过使用VBA来显示
数据记录单 384
第13章 用户窗体概述 385
13.1 Excel如何处理自定义
对话框 385
13.2 插入新的用户窗体 386
13.3 向用户窗体中添加控件 386
13.4 “工具箱”中的控件 387
13.4.1 复选框 387
13.4.2 组合框 388
13.4.3 命令按钮 388
13.4.4 框架 388
13.4.5 图像 389
13.4.6 标签 389
13.4.7 列表框 389
13.4.8 多页 389
13.4.9 选项按钮 389
13.4.10 RefEdit 389
13.4.11 滚动条 390
13.4.12 数值调节钮 390
13.4.13 TabStrip 390
13.4.14 文本框 390
13.4.15 切换按钮 390
13.5 调整用户窗体的控件 391
13.6 调整控件的属性 393
13.6.1 使用“属性”窗口 393
13.6.2 共同属性 394
13.6.3 满足键盘用户的需求 396
13.7 显示用户窗体 397
13.7.1 调整显示位置 398
13.7.2 显示非模态的用户窗体 398
13.7.3 显示基于变量的用户窗体 398
13.7.4 加载用户窗体 399
13.7.5 关于事件处理程序 399
13.8 关闭用户窗体 399
13.9 创建用户窗体的示例 400
13.9.1 创建用户窗体 401
13.9.2 编写代码显示对话框 403
13.9.3 测试对话框 404
13.9.4 添加事件处理程序 405
13.9.5 完成对话框 406
13.10 理解用户窗体的事件 407
13.10.1 了解事件 407
13.10.2 用户窗体的事件 408
13.10.3 数值调节钮的事件 408
13.10.4 数值调节钮与文本框
配套使用 410
13.11 引用用户窗体的控件 412
13.12 自定义“工具箱” 413
13.12.1 在“工具箱”中添加新页 413
13.12.2 自定义或组合控件 413
13.12.3 添加新的ActiveX控件 415
13.13 创建用户窗体的模板 415
13.14 用户窗体问题检测列表 416

第14章 用户窗体示例 417
14.1 创建用户窗体式菜单 417
14.1.1 在用户窗体中使用
命令按钮 417
14.1.2 在用户窗体中使用
列表框 418
14.2 从用户窗体选中单元格区域 419
14.3 创建欢迎界面 421
14.4 禁用用户窗体的关闭按钮 423
14.5 改变用户窗体的大小 424
14.6 在用户窗体中缩放和滚动
工作表 425
14.7 列表框技巧 427
14.7.1 向列表框控件中添加
条目 428
14.7.2 确定列表框中选中的
条目 432
14.7.3 确定列表框中的多个
选中条目 433
14.7.4 单个列表框中的多个
列表 434
14.7.5 列表框条目的转移 435
14.7.6 在列表框中移动条目 436
14.7.7 使用多列的列表框控件 438
14.7.8 使用列表框选中
工作表中的行 440
14.7.9 使用列表框激活工作表 442
14.7.10 通过文本框来筛选
列表框 444
14.8 在用户窗体中使用多页控件 446
14.9 使用外部控件 448
14.10 使标签动画化 450
第15章 高级用户窗体技术 453
15.1 非模态对话框 453
15.2 显示进度条 457
15.2.1 创建独立的进度条 458
15.2.2 集成到用户窗体中的
进度条 461
15.2.3 创建非图形化进度条 465
15.3 创建向导 467
15.3.1 为向导设置多页控件 468
15.3.2 在向导用户窗体中添加
按钮 468
15.3.3 编写向导按钮的程序 468
15.3.4 编写向导中的相关代码 470
15.3.5 使用向导执行任务 471
15.4 模仿MsgBox函数 472
15.4.1 模仿MsgBox函数:
MyMsgBox函数的代码 473
15.4.2 MyMsgBox函数的
工作原理 474
15.4.3 使用MyMsgBox函数 476
15.5 带有可移动控件的用户窗体 476
15.6 没有标题栏的用户窗体 477
15.7 使用用户窗体模拟工具栏 479
15.8 使用用户窗体来模仿
任务面板 481
15.9 可调整大小的用户窗体 482
15.10 用一个事件处理程序处理
多个用户窗体控件 485
15.11 在用户窗体中选择颜色 488
15.12 在用户窗体中显示图表 490
15.12.1 将图表保存为GIF文件 491
15.12.2 更改图像控件的Picture
属性 491
15.13 使用户窗体半透明 491
15.14 用户窗体上的数字推盘 493
15.15 用户窗体上的电动扑克 494
第Ⅳ部分 开发Excel应用程序
第16章 创建和使用加载项 497
16.1 什么是加载项 497
16.1.1 加载项与标准工作簿的
比较 497
16.1.2 创建加载项的原因 498
16.2 理解Excel的加载项管理器 500
16.3 创建加载项 501
16.4 加载项示例 502
16.4.1 为加载项示例添加描述
信息 503
16.4.2 创建加载项 503
16.4.3 安装加载项 504
16.4.4 测试加载项 505
16.4.5 发布加载项 505
16.4.6 修改加载项 505
16.5 比较XLAM和XLSM文件 506
16.5.1 XLAM文件中的VBA
集合成员 506
16.5.2 XLSM和XLAM文件的
可见性 507
16.5.3 XLSM和XLAM文件的
工作表和图表工作表 507
16.5.4 访问加载项中的VBA
过程 508
16.6 用VBA操作加载项 511
16.6.1 向AddIns集合中添加项 511
16.6.2 从AddIns集合中删除项 512
16.6.3 AddIn对象属性 513
16.6.4 作为工作簿访问加载项 516
16.6.5 AddIn对象事件 516
16.7 优化加载项的性能 516
16.8 加载项的特殊问题 517
16.8.1 确保加载项已经安装 517
16.8.2 从加载项中引用其他
文件 519
16.8.3 为加载项检测适用的
Excel版本 519
第17章 使用功能区 521
17.1 功能区基础 521
17.2 自定义功能区 522
17.2.1 向功能区中添加按钮 523
17.2.2 向快速访问工具栏中
添加按钮 525
17.2.3 自定义功能区的局限性 526
17.3 创建自定义的功能区 527
17.3.1 将按钮添加到现有的
选项卡中 527
17.3.2 向已有的选项卡中添加
复选框 532
17.3.3 功能区控件演示 535
17.3.4 dynamicMenu控件示例 542
17.3.5 关于自定义功能区的
其他内容 544
17.4 VBA和功能区 546
17.4.1 访问功能区控件 546
17.4.2 使用功能区 546
17.4.3 激活选项卡 548
17.5 创建老式工具栏 549
17.5.1 Excel 2007及后续版本中
老式工具栏的局限性 549
17.5.2 创建工具栏的代码 549
第18章 使用快捷菜单 553
18.1 命令栏简介 553
18.1.1 命令栏的类型 553
18.1.2 列出快捷菜单 554
18.1.3 引用命令栏 555
18.1.4 引用命令栏中的控件 555
18.1.5 命令栏控件的属性 557
18.1.6 显示所有的快捷菜单项 557
18.2 使用VBA自定义快捷菜单 559
18.2.1 快捷菜单和单文档界面 559
18.2.2 重置快捷菜单 561
18.2.3 禁用快捷菜单 562
18.2.4 禁用快捷菜单项 562
18.2.5 向“单元格”快捷菜单中
添加一个新项 563
18.2.6 向快捷菜单添加一个子
菜单 565
18.2.7 将快捷菜单限制到单个
工作簿 567
18.3 快捷菜单与事件 567
18.3.1 自动添加和删除菜单 568
18.3.2 禁用或隐藏快捷菜单项 568
18.3.3 创建一个上下文相关的
快捷菜单 568
第19章 为应用程序提供帮助 571
19.1 Excel应用程序的“帮助” 571
19.2 使用Excel组件的帮助系统 573
19.2.1 为帮助系统使用
单元格批注 573
19.2.2 为帮助系统使用文本框 574
19.2.3 使用工作表来显示
帮助文本 575
19.2.4 在用户窗体中显示
帮助信息 576
19.3 在Web浏览器中显示
“帮助” 580
19.3.1 使用HTML文件 580
19.3.2 使用一个MHTML文件 581
19.4 使用HTML帮助系统 582
19.4.1 使用Help方法来显示
HTML帮助信息 585
19.4.2 将“帮助”文件与应用
程序相关联 585
19.4.3 将一个帮助主题与一个
VBA函数相关联 586
第20章 理解类模块 589
20.1 什么是类模块 589
20.1.1 内置的类模块 590
20.1.2 自定义类模块 590
20.2 创建NumLock类 591
20.2.1 插入类模块 591
20.2.2 给类模块添加VBA代码 592
20.2.3 使用CNumLock类 593
20.3 属性、方法和事件编程 594
20.3.1 对象属性编程 594
20.3.2 对象的方法编程 595
20.3.3 类模块事件 596
20.4 QueryTable事件 596
20.5 创建存储类的类 599

20.5.1 创建CSalesRep和
CSalesReps类 599
20.5.2 创建CInvoice和
CInvoices类 601
20.5.3 用对象填充父类 602
20.5.4 计算佣金 603
第21章 兼容性问题 605
21.1 什么是兼容性 605
21.2 兼容性问题的类型 606
21.3 避免使用新功能 607
21.4 在Mac机器上是否可用 608

21.5 处理64位Excel 609
21.6 创建一个国际化应用程序 610
21.6.1 多语言应用程序 611
21.6.2 VBA语言的考虑 612
21.6.3 使用本地属性 612
21.6.4 系统设置识别 613
21.6.5 日期和时间设置 615
第Ⅴ部分 附录
附录A VBA语句和函数引用 619


前言/序言

  对大多数人来讲,想要学习ExcelVBA编程技术都起因于需要执行一些利用Excel的标准工具无法完成的任务。对于我们每个人来讲,任务都各不相同。这任务可能是需要为数据集中的所有行自动创建单独的工作簿,也可能是需要自动发送很多报告邮件。不管你面对的是什么样的任务,基本上都可以肯定已经有人使用ExcelVBA来解决跟你一样的问题了。

  就ExcelVBA来讲,最美妙的事莫过于你不是必须成为专家后才能解决问题。你可以为解决一个具体问题而学习相关知识,也可以为处理各种自动化场景而深入学习各种技巧。

  无论你的目标如何,本书都可以帮助你驾驭VBA语言的强大功能来使任务自动化、工作更省心更有效率。

  本书涵盖的内容

  本书主要介绍VBA(VisualBasicforApplications),这是一种构建于Excel(和其他MicrosoftOffice应用程序)中的编程语言。更具体地说,本书将展示如何编写使Excel中各种任务自动化的程序。本书覆盖了从录制简单的宏乃至创建复杂的、面向用户的应用程序和实用程序等所有内容。

  你可以按自己所需来学习本书的内容。可以从头读到尾,也可以从中挑出觉得对自己有用的部分。VBA编程通常都是面向任务的,因此在面对一个具有挑战性的任务时,可以先从本书中查一查哪些章节是专门针对你所面对的问题的。

  本书并没有涵盖VSTO(VisualStudioToolsforOffice)中的内容。VSTO是一门较新技术,它使用了VisualBasic.NET和MicrosoftVisualC#。VSTO也可用于控制Excel和其他MicrosoftOffice应用程序。

  你可能知道,Excel2016也可用于其他平台。例如,你可以在浏览器中使用微软的ExcelWebApp,甚至在iPad和平板电脑上运行Excel。这些版本不支持VBA。也就是说,本书介绍的是针对Windows平台的Excel2016桌面版本。

  本书读者对象

  本书并不是为Excel的初学者编写的。如果读者对使用Excel没有任何经验,那么最好先阅读Wiley出版社出版的JohnWalkenbach撰写的《中文版Excel2016宝典》,该书全面概括了Excel的所有功能,它是为各个层次的读者服务的。

  为发挥本书的最大功效,读者应该是有一定使用经验的Excel用户。本书假设读者已经掌握了如下技能:

  ●如何创建工作簿、插入工作表、保存文件等

  ●如何在工作簿中导航

  ●如何使用Excel功能区用户界面

  ●如何输入公式

  ●如何使用Excel的工作表函数

  ●如何给单元格和单元格区域命名

  ●如何使用基本的Windows功能,例如文件管理方法和剪贴板的使用

  所需的资源

  为充分学习本书的知识,应该安装Excel的完整版。如果想要学习本书中的高级技术(如Excel)与其他Office程序之间的通信,你还需要安装Office软件。

  虽然本书大部分内容都可在Excel前期版本上使用,但还是假定已安装了Excel2016。如果你计划开发用于Excel前期版本的应用程序,还是强烈建议你使用目标客户所使用的前期版本。

  你使用什么版本的Windows并不太重要。只要能运行Windows的计算机系统都没问题,但最好还是使用内存大速度快的机器。因为Excel程序比较大,如果在速度慢内存小的系统上使用会令人崩溃。

  本书没有介绍适用于Mac计算机上的Excel版本。

  本书约定

  请花点时间阅读本节内容,这里介绍本书使用的一些约定。

  Excel命令

  Excel使用上下文相关的功能区系统。顶部的单词(如“插入”、“视图”等)称为“选项卡”。单击某个选项卡,图标的功能区就将显示最适合当前任务的命令。每个图标都有一个名称,通常显示在该图标的旁边或下方。图标是按组排列的,组名显示在图标下方。

  本书约定:先指明的是选项卡的名称,随后是组的名称,最后是图标的名称。例如,用于处理单元格中自动换行的命令如下所示:

  “开始”|“对齐方式”|“自动换行”

  单击第一个选项卡,即“文件”选项卡,将进入一个名为Backstage的新界面。Backstage窗口的左侧有一列命令。为了指明Backstage命令,先使用单词“文件”,然后是命令名。例如,下面的命令将显示“Excel选项”对话框:

  “文件”|“选项”

  VBE命令

  VBE是在其中使用VBA代码的窗口。VBE使用传统的“菜单和工具栏”界面。下面的命令指单击“工具”菜单并选中“引用”菜单项:

  “工具”|“引用”

  键盘的约定

  需要使用键盘来输入数据。此外,使用键盘还可以直接操作菜单和对话框,如果双手已经放到键盘上,那么这种方法会更方便一些。

  输入

  较长的输入通常以等宽字体显示在单独一行中。例如,书中可能提示输入以下公式:

  =VLOOKUP(StockNumber,PriceList,2)

  VBA代码

  本书包含许多VBA代码片段以及完整的过程清单。每个清单以等宽字体显示,每行代码占据单独一行(笔者直接从VBA模块中复制这些清单,并把它们粘贴到了自己的字处理程序中)。为使代码更易于阅读,书中使用一个或多个制表符进行缩进。缩进是可选的,但确实可以帮助限定一起出现的语句。

  当本书中的单独一行放不下一行代码时,本书使用标准的VBA续行符:在一行的结尾,采用空格后跟下划线字符的方式表明代码行延伸到了下一行。例如,下面两行是一条代码语句:

  columnCount=Application.WorksheetFunction._

  CountA(Range("A:A"))+1

  可按上面的显示把代码输入到两行中,或者删除下划线字符并把代码输入到一行中。

  函数、文件名和命名单元格区域

  Excel的工作表函数以大写字母显示,如“在单元格C20中输入一个SUM公式”。对于VBA过程名、属性、方法和对象,本书经常混合使用大写和小写字母以便读者阅读这些名称。

  图标的含义

  本书使用一些图标来引起读者的注意,告诉读者这些信息非常重要。

  注意使用“注意”图标来告诉读者这些信息很重要,也许是有助于读者掌握随后任务的概念,或是有助于理解后面资料的一些基础知识。

  提示“提示”图标指出更有效的工作方式或可能不是很明显的方法。

  示例下载这类图标表明示例文件可在下载的示例文件包中找到。具体说明参见前言中的“关于下载的示例文件包”一节。

  警告“警告”图标表明在操作时不小心可能会导致出现问题。

  交叉参考这类图标表明请读者参阅其他章节中关于某个主题的详细信息。

  本书的组织结构

  本书的章节分为5个主要部分。

  第I部分ExcelVBA基础知识

  第I部分介绍ExcelVBA,为创建和管理Excel子例程和函数提供编程基础知识。第1章全面介绍Excel应用开发方面的各种概念。第2章到第6章讨论在进行VBA编程时需要了解的各种知识。第7章则列举许多有用的示例助你巩固前面所学的VBA知识点。

  第II部分高级VBA技术

  第Ⅱ部分涵盖一些VBA高级编程技术。第8章和第9章讨论如何使用VBA来处理透视表和图表(包括迷你图)。第10章讨论在与其他应用程序(如Word和Outlook)交互时所采用的各种技术。第11章介绍如何处理文件和外部数据源。

  第III部分操作用户窗体

  该部分的4章内容主要介绍自定义对话框(也称为用户窗体)。第12章介绍创建自定义用户窗体的一些内置方法。第13章介绍用户窗体以及可供使用的各种控件。第14章和第15章则列举从基本到高级的自定义对话框的大量示例。

  第IV部分开发Excel应用程序

  该部分讲述创建面向用户的应用程序的重要内容。第16章手把手教你创建加载项。第17章和第18章讨论如何修改Excel的功能区和快捷菜单。第19章介绍向应用程序提供在线帮助的几种不同方法。第20章展示如何开发面向用户的应用程序。第21章探讨在进行ExcelVBA编程时与兼容性相关的一些信息。

  第V部分附录

  第V部分包含了1个附录。附录A是一份参考指南,列出作为VBA中关键字的所有语句和函数。

  关于下载的示例文件包

  本书中讨论过的几乎所有知识都配有示例。可以下载本书中所包含的很多有用示例。

  本书的配书网站是www.wiley.com/go/excel2016powerprogramming。

  也可登录www.tupwk.com.cn/downpage下载相关内容。或者扫描本书封底的二维码直接下载。

  关于PowerUtilityPakOffer

  PowerUtilityPak软件收集了很多有用的Excel实用程序和许多新的工作表函数。

  你可以花点钱购买该产品的完整VBA源代码。研究这些代码是学习一些重要编程技巧的极佳方式。

  该软件作者JohnWalkenbach的网站上还提供了PowerUtilityPak软件的30天试用版,下载地址为:

  http://spreadsheetpage.com

  如果觉得该软件有用,可凭票证购买,购买有优惠。



本书内容简介: 本书将带您深入探索Excel VBA(Visual Basic for Applications)编程的奥秘,系统地阐述如何通过编写VBA代码来自动化、定制化和扩展Excel的功能。我们不会仅仅停留在基础语法的讲解,而是着眼于实际应用场景,帮助您掌握构建复杂、高效Excel解决方案的核心技巧。 第一部分:Excel VBA编程基础与核心概念 我们将从最核心的VBA编程基础讲起,确保即便是初次接触VBA的读者也能快速上手。 环境搭建与初识VBA编辑器: 首先,我们会详细介绍如何打开和使用Excel的VBA编辑器(VBE),包括其各个窗口的功能(工程资源管理器、属性窗口、代码窗口、立即窗口等)以及如何进行基本的配置,以便于您高效地进行代码编写和调试。 VBA语言入门: 深入讲解VBA的核心语法,包括变量的声明与数据类型(字符串、数字、布尔值、日期、对象等),以及不同数据类型的巧妙运用。我们将通过大量实例展示如何声明、赋值和操作变量,理解值传递与引用传递的区别。 控制流结构: 学习如何通过条件语句(If...Then...Else, Select Case)和循环结构(For...Next, Do While/Until Loop, For Each...Next)来控制程序的执行逻辑。我们将演示如何根据不同的条件执行不同的代码块,以及如何重复执行一段代码以处理批量数据。 过程(Subcedures)与函数(Functions): 理解过程和函数的概念及其区别,学会如何创建自定义的Sub过程来执行一系列操作,以及如何创建Function函数来返回一个值。我们将探讨参数的传递方式(ByVal, ByRef)及其重要性,并演示如何设计可重用的代码模块。 对象模型详解: Excel VBA的核心在于其强大的对象模型。我们将逐一深入剖析Excel对象模型的关键组成部分,从顶层的Application对象,到Workbook(工作簿)、Worksheet(工作表)、Range(单元格区域)等,再到更细粒度的Cell(单元格)、Chart(图表)、PivotTable(数据透视表)等。我们会详细讲解如何通过对象属性和方法来访问和操作Excel的各个元素,这是实现自动化操作的基础。 事件驱动编程: 学习如何利用Excel的事件来触发VBA代码的执行,例如工作簿打开事件、工作表激活事件、单元格修改事件等。我们将演示如何编写事件处理程序,使Excel能够响应用户的操作,实现更智能的交互。 第二部分:Excel VBA对象模型深度探索与高级应用 在掌握了基础知识后,我们将深入挖掘Excel VBA对象模型的强大潜力,并将其应用于解决实际工作中的复杂问题。 工作簿与工作表的精细化操作: 学习如何程序化地创建、打开、保存、关闭工作簿。精通工作表的复制、移动、删除、重命名等操作,以及如何通过代码来管理多个工作簿之间的联动。 单元格区域(Range)的灵活操控: Range对象是VBA编程中最频繁使用的对象之一。我们将展示如何通过各种方式引用单元格区域(如单元格地址、命名区域、相对引用、偏移量),以及如何批量设置单元格的格式(字体、颜色、边框、对齐方式)、数值、公式。学习如何进行单元格的复制、粘贴(包括选择性粘贴),以及如何查找和替换单元格内容。 处理Excel数据: 读取与写入数据: 演示如何高效地读取和写入大量数据到工作表中,包括使用数组(Arrays)来加速数据处理。 排序与筛选: 学习如何通过VBA代码实现数据的排序和自动筛选,以及高级筛选的技巧。 查找与匹配: 掌握使用Find方法、FindNext方法以及Match函数、VLOOKUP/HLOOKUP函数(通过VBA调用)来快速定位和提取数据。 图表(Charts)的自动化生成与美化: 学习如何通过VBA代码动态创建各种类型的图表,包括柱状图、折线图、饼图、散点图等。我们将深入讲解如何设置图表的标题、坐标轴、数据系列、图例,以及如何美化图表样式,使其更具可读性和专业性。 数据透视表(PivotTables)的编程控制: 数据透视表是Excel中强大的数据分析工具。本书将演示如何通过VBA创建、修改和刷新数据透视表,包括添加和移除字段、设置汇总方式、应用筛选器等,从而实现数据分析流程的自动化。 其他重要Excel对象: 探索并学习如何通过VBA来操控其他重要的Excel对象,例如: 用户窗体(UserForms): 设计自定义的对话框,用于收集用户输入、显示信息或提供更友好的操作界面。我们将详细讲解UserForm的设计、控件的使用(文本框、标签、按钮、复选框、列表框等)以及事件处理。 报表(Reports): 结合其他Excel对象,构建动态生成的报表,输出格式化后的数据和图表。 外部数据连接: 学习如何通过VBA连接到外部数据源(如Access数据库、SQL Server等),并导入数据到Excel中进行处理。 第三部分:高级VBA编程技术与最佳实践 本部分将引导您掌握更高级的VBA编程技巧,并养成良好的编程习惯,写出更健壮、高效的代码。 错误处理与调试技巧: 学习如何使用On Error语句来捕获和处理运行时错误,避免程序意外中断。掌握Excel VBA的强大调试工具,如断点、逐行执行、监视窗口,能够快速定位和解决代码中的问题。 数组(Arrays)的高级应用: 深入理解多维数组、动态数组,学习如何使用Ubound、Lbound函数获取数组边界。通过数组来高效地处理内存中的数据,显著提升程序运行速度。 集合(Collections)与字典(Dictionaries): 学习使用Collection对象和Dictionary对象来存储和管理一组相关联的项目,它们在处理非结构化数据时非常有用。 面向对象编程(OOP)思想在VBA中的应用: 虽然VBA不是纯粹的面向对象语言,但可以借鉴OOP的思想。我们将探讨类模块(Class Modules)的概念,如何创建自定义对象,封装数据和行为,提高代码的可维护性和可重用性。 API函数调用: 探索如何通过Declare语句调用Windows API函数,以扩展Excel VBA的功能,实现一些Excel本身不直接支持的操作,例如文件系统操作、注册表操作等。 创建自定义函数(UDFs): 学习如何创建用户自定义函数,使其能够像Excel内置函数一样在工作表中使用,极大地增强Excel公式的功能。 性能优化: 探讨提高VBA程序运行效率的方法,例如关闭屏幕更新、禁用事件、使用数组、避免不必要的对象引用等。 安全与部署: 了解Excel VBA项目的安全性设置,如何保护您的代码不被轻易查看或修改。学习如何将VBA项目打包和部署,方便他人使用。 与其他Office应用程序的交互: 简要介绍如何利用VBA与其他Office应用程序(如Word、Outlook、Access)进行数据交换和自动化操作,实现跨应用的联动。 第四部分:实际案例分析与项目实践 理论结合实际是学习编程的关键。本书将通过一系列精心设计的实际案例,展示如何运用前面所学知识解决真实世界中的Excel应用问题。 自动化数据报表生成: 演示如何从多个工作表或外部源提取数据,经过处理和分析后,自动生成格式化的报表,并可以导出为PDF或打印。 批量数据处理工具: 构建能够对大量数据进行清洗、转换、合并、拆分等操作的工具,显著提高数据处理效率。 自定义Excel工具栏与菜单: 学习如何创建自定义的用户界面元素,方便用户快速访问常用功能。 业务流程自动化: 结合实际业务场景,设计并实现能够自动化执行某些重复性业务流程的Excel解决方案。 数据验证与防错机制: 通过VBA编写代码,实现更智能的数据验证规则,以及防止用户误操作的功能。 本书的目标是让您成为一名Excel VBA的资深用户,不仅能够熟练运用VBA解决日常工作中的问题,还能独立设计和开发复杂的Excel自动化解决方案,极大地提升您的工作效率和专业能力。我们将强调实践的重要性,鼓励您在学习过程中不断尝试和创新。

用户评价

评分

最近工作上的一些挑战,让我深刻体会到,传统的Excel操作已经远远不能满足我的需求了。特别是对于那些需要处理海量数据、进行复杂分析,或者需要定时执行的任务,手动操作简直是效率的噩梦。因此,我下定决心要好好学习VBA编程。在这方面,我非常幸运地找到了一本非常好的书。这本书的讲解风格非常独特,它不是那种枯燥乏味的理论堆砌,而是充满了实践性和启发性。我尤其喜欢书中关于“事件处理”的章节,它让我明白如何让Excel在特定条件下自动执行某些操作,比如当我打开某个工作簿时,自动进行数据更新;或者当我修改了某个单元格的值时,自动触发一系列计算。这种“智能”的响应机制,极大地提高了我的工作效率。而且,书中还分享了一些关于代码优化的技巧,比如如何减少不必要的对象引用,如何利用数组来提高数据处理速度等等,这些都让我受益匪浅,让我能够写出更高效、更省资源的VBA程序。这本书的内容对我来说,确实是物超所值,让我对VBA编程有了更深刻的理解和掌握。

评分

一直以来,Excel VBA都是我工作中非常重要的一个环节,尤其是在处理大量数据和自动化重复性任务方面,它的威力简直是无人能挡。我最近刚入手了一本关于Excel 2016高级VBA编程的书,虽然我还没有完全啃完,但从我目前接触到的部分来看,这本书的深度和广度都给我留下了深刻的印象。它不仅仅是停留在基础的宏录制和简单的代码编写,而是深入探讨了许多真正能够提升工作效率的“高级”技巧。比如,它详细讲解了如何利用ADO连接外部数据库,这对于需要整合多方数据源的我来说,简直是雪中送炭。还有关于对象模型和事件驱动编程的阐述,让我对Excel内部的运作机制有了更清晰的认识,也能够写出更加健壮和灵活的代码。作者在讲解过程中,似乎非常注重理论与实践的结合,每一个概念的提出,都会伴随着详实的案例分析和代码示例,这一点我特别喜欢,因为这样可以帮助我更快地理解和消化吸收。而且,书中的例子都非常贴近实际工作场景,很多都是我曾经遇到过或者正在面临的难题,通过学习书中的解决方案,我感觉自己的问题得到了很好的解决,工作效率也得到了显著的提升。总的来说,这本书对于想要将Excel VBA运用到极致的读者来说,绝对是一本值得认真研读的宝典。

评分

我最近在尝试用VBA写一些更复杂的自动化流程,希望能将一些日常的报表生成和数据处理过程完全自动化。之前也看过一些VBA的书籍,但总觉得有些地方不够深入,或者例子不够贴切。这次拿到这本《中文版Excel 2016高级VBA编程宝典》(虽然书名很长,但我记住它了),确实让我眼前一亮。它在讲解一些核心概念的时候,逻辑非常清晰,而且从不同的角度去剖析问题,让我能够举一反三。特别是关于用户自定义函数(UDF)的编写和应用,书中提供了一些非常巧妙的设计思路,让我不再仅仅满足于使用Excel自带的函数,而是能够根据自己的业务需求,构建出独一无二的函数来简化计算。另外,关于错误处理和异常捕获的部分,书中的讲解也非常细致,让我学会了如何编写能够应对各种突发情况的鲁棒性代码,这对于防止程序崩溃和数据丢失至关重要。我还注意到,书中对一些内存管理和性能优化的技巧也有涉及,这对于处理超大型数据集的场景非常有帮助,能够让我的VBA程序运行得更快更流畅。总而言之,这本书的含金量很高,内容非常实用,对于我这样有一定VBA基础,但希望进一步提升编程能力的读者来说,是一本极佳的进阶读物。

评分

我一直对Excel的高级功能充满好奇,尤其是VBA编程,总觉得它蕴含着无穷的可能性,能够将Excel的威力发挥到极致。在我寻找相关学习资源的时候,偶然看到了这本《中文版Excel 2016高级VBA编程宝典》。我被它细致入微的讲解所吸引,这本书并没有将VBA编程仅仅视为一个简单的工具,而是将其提升到了“编程艺术”的高度。它从最基础的语法结构出发,层层递进,深入到各种高级的应用场景。我特别喜欢书中关于窗体(UserForm)设计和交互的章节,这部分内容让我能够为自己的Excel应用创建出更加友好和个性化的用户界面,大大提升了用户的使用体验,也让我的自动化工具更具专业性。此外,书中还讲解了如何利用VBA来操作Word、Outlook等其他Office应用程序,实现了不同应用程序之间的数据交互和流程联动,这对于构建一个完整的办公自动化体系非常有价值。我感觉这本书不仅仅教会了我写代码,更重要的是教会了我如何去思考,如何去设计一个高效、可靠的VBA解决方案。

评分

说实话,我是一名Excel的重度用户,每天都要和各种各样的数据打交道,从基础的数据录入、整理到复杂的报表分析,几乎所有工作都离不开Excel。随着工作内容的不断深入,我发现仅仅依靠Excel自带的功能已经越来越难以满足我的需求了,很多重复性的操作耗费了我大量的时间和精力。于是,我开始寻求更高级的解决方案,而VBA编程无疑是其中最有效的一种。这次我选择的这本书,可以说是满足了我对“高级”二字的所有期待。它没有一开始就抛出一些晦涩难懂的概念,而是循序渐进地引导读者进入VBA的世界。我尤其欣赏书中的一个特点,就是它非常注重培养读者独立思考和解决问题的能力。书中提出的每一个问题,都不是直接给出答案,而是通过讲解原理、提供思路,鼓励读者自己去动手实践,去探索不同的解决方案。这种教学方式非常棒,能够让我真正地掌握VBA编程的精髓,而不是死记硬背一些代码。而且,书中对Excel对象模型的深入解析,让我对Excel的强大功能有了全新的认识,也让我能够更自由地操控Excel的各项功能,实现更复杂、更精细化的自动化。

评分

书籍内容丰富,讲解详细,挺不错的!

评分

书还行,价格不错书还行,价格不错书还行,价格不错

评分

喜欢,有活动买的

评分

还没开始看。寄来的时候右下角有一块黑,不过不影响使用

评分

纸质差了点

评分

商品已经收到,与描述基本相符。

评分

书很厚,但内容一般,需要的地方写得不详细,用不上的地方又写了很多

评分

学习,像板砖一样的专业书籍。啃吧!

评分

大品牌,好东西,值得信赖

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有