目录 1
引言 1
第1部分 入门 3
第1章 宏介绍 3
1.1 宏的优点 3
1.1.1 更快的操作 3
1.1.5 增强功能 4
1.1.4 更少的击键 4
1.1.3 更少的错误 4
1.1.2 更少的人工干预 4
1.1.6 更广的计算选项 5
1.2 宏的缺点 5
1.2.1 开发时间 5
1.2.2 支持工作 5
1.2.3 总要作两张电子表 5
1.2.4 额外的重计算步骤 5
1.3 宏的进一步考察 5
1.3.1 工作表和宏表 6
1.3.2 两种类型的宏 7
1.3.3 创建两个函数宏 10
1.3.4 Microsoft Excel中可用的宏函数 13
1.3.5 编写宏的帮助 14
1.4 正确地使用宏 14
1.4.1 模板 14
1.4.5 工作表参数 15
1.4.4 公式和名字定义 15
1.4.3 使用代替格式化宏的格式 15
1.4.2 命令简捷键 15
第2章 命令宏 17
2.1 用记录器创建命令宏 17
2.1.1 用记录命令记录 17
2.1.2 用Start Recorder命令记录宏 19
2.1.3 Absolute Record和Relative Record命令 21
2.1.4 在宏尾添加内容 22
2.1.5 在宏的中部添加内容 23
2.1.6 编辑一个记录的宏 24
2.2 不用记录器创建命令宏 29
2.2.1 命名命令宏 30
2.2.2 从Run对话框中运行命令宏 32
第3章 函数宏 34
3.1 创建一个函数宏 34
3.1.1 输入宏 34
3.1.2 给函数宏命名 37
3.1.3 使用函数宏 37
3.2.1 RESULT函数 39
3.2 可用于函数宏的函数 39
3.2.2 ARGUMENT函数 41
3.2.3 CALLER函数 44
3.2.4 重计算和VOLATILE函数 46
3.3 使函数宏更便于使用 47
3.3.1 省略文件名 47
第4章 宏程序设计风格 49
4.1 设计宏的模块系统 50
4.1.1 等级结构的类型 50
4.1.2 使用服务于共同操作的单个例程 51
4.1.3 管理宏库 52
4.2 宏格式化,文本编制和布局 53
4.2.1 宏格式化约定 53
4.3 减少错误的技巧 55
4.3.1 防止语法错误 55
4.3.2 使每行简洁 55
4.3.3 使用命名的值代替直接值 56
4.3.4 用命名的区代替直接单元引用 56
4.3.6 检查假设 57
4.3.5 经常检查一部分宏 57
第5章 错误恢复 59
5.1 发现错误 59
5.1.1 STEP函数的使用 60
5.2 监视宏中数值 63
5.2.1 Values视图 63
5.2.2 SET.VALUE函数的使用 63
5.2.3 MESSAGE函数的使用 63
5.3 Macro Debugger的使用 64
5.3.1 Debug菜单 65
5.3.2 Formula菜单 66
5.3.4 应该使用Debugger吗 67
5.3.3 Display菜单 67
5.4 常见的宏错误 68
5.4.1 宏根本无法运行 68
5.4.2 运行错误的宏 68
5.4.3 复制函数的名字 70
6.1 在公式中使用正文 75
6.1.1 把数字当作正文处理 75
第6章 使用正文公式 75
第2部分 基础 75
6.1.2 正文和数字的相互转换 76
6.1.3 禁止正文自动转换 77
6.1.4 查找文本 78
6.1.5 抽取部分正文 79
6.2 使用字符代码 80
6.2.1 增加和删除字符 81
6.2.2 改变大小写形式 82
6.2.3 正文比较 83
7.1.1 选择正确的引用格式 84
第7章 使用引用和名字 84
7.1 什么是引用? 84
7.1.2 单元引用表 86
7.1.3 混合引用 88
7.1.4 构造引用 88
7.1.5 使用引用的标准函数 93
7.1.6 使用引用的宏函数 95
7.1.7 在宏中使用引用 98
7.2.1 定义名字 101
7.2 使用名字 101
7.2.2 把什么赋给名字 102
7.2.3 使用名字的宏函数 103
7.2.4 在宏中使用名字 106
第8章 导向工作表和宏表 109
8.1 SELECT和FORMULA.GOTO函数 109
8.1.1 相同处 109
8.1.2 不同处 110
8.2 在工作表或宏表上选择 110
8.2.2 最后一个单元 111
8.2.1 HOME 111
8.2.3 活动单元 112
8.2.4 当前行的起点 112
8.2.5 最右边的单元 112
8.2.6 当前列的顶部单元 113
8.2.7 当前列的底部单元 113
8.2.8 第一个未使用行的开头 113
8.3 在数据块中选择 114
8.3.1 数据块 114
8.3.2 数据块的边界 116
8.3.3 数据块中的区 117
8.4 在命名区中选择 118
8.4.1 区的左上角单元 118
8.4.2 区的右下角单元 118
8.4.3 指定行或列 118
8.4.4 从活动单元到命名区的区域 118
8.5 得到数据的其它想法 118
8.5.1 SELECT.SPECIAL的其它用途 119
8.5.2 使用FORMULA.FIND 120
第9章 控制程序流程 123
9.1 宏中的分支 123
9.1.1 GOTO函数 123
9.1.2 使用子例程 124
9.1.3 在判断基础上分支 128
9.2 循环的使用 132
9.2.1 FOR-NEXT循环 132
9.2.2 WHILEI-NEXT循环 135
9.2.3 FOR.CELL-NEXT循环 136
9.2.4 跳出循环 138
第3部分 创建用户界面 139
第10章 文本、窗口、工作簿和工作区 139
10.1 文本 139
10.1.1 DOCUMENT函数 139
10.1.2 GET.DOCUMENT函数 140
10.1.3 保护文本 140
10.2 窗口 143
10.2.1 WINDOWS函数 143
10.2.2 GET.WINDOW函数 144
10.2.3 激活窗口 146
10.2.4 改变窗口的外观 149
10.3 工作簿 156
10.3.1 创建一个新的工作簿 156
10.3.2 给工作簿添加文本 156
10.3.3 存储工作簿 157
10.3.4 打开包含在工作簿中的文本 157
10.3.5 选择工作簿中的文本 157
10.3.8 GET.WORKBOOK信息函数 158
10.4 工作区 158
10.3.6 把一个文本从一个工作簿拷贝或移动到另一个工作簿 158
10.3.7 WORKBOOK.OPTIONS函数 158
10.4.1 WORKSPACE函数 159
10.4.2 GET.WORKSPACE函数 159
10.4.3 冻结显示 161
10.4.4 Info函数 161
11.1 向用户发出消息 163
11.1.1 使用Alert对话框 163
第11章 提供和获取信息 163
11.1.2 使用MESSAGE函数 164
11.1.3 使用BEEP函数 166
11.1.4 使用SOUND.NOTE和SOUND.PLAY函数 166
11.2 使用INPUT函数 166
11.2.1 定位Input对话框 168
11.2.2 隐藏Input对话框 169
11.4 定制对话框 170
11.4.1 定制对话框概况 170
11.3 对话框函数 170
11.4.2 定义表 174
11.4.3 对话框中的项 175
11.4.4 使用Dialog Editor(对话编辑器) 185
11.4.5 使对话框响应变化的环境 186
第12章 用宏进行操作 191
12.1 创建新的命令、菜单和菜单栏 191
12.1.1 定制菜单命令 193
12.1.2 定制菜单 196
12.1.3 定制菜单栏 198
12.2 创建新工具和工具栏 200
12.2.1 创建定制工具 201
12.2.2 定制工具栏 205
12.3 将宏指派给对象 207
12.4 向事件指派操作 210
12.4.1 启动时打开指定的表 210
12.4.2 在表打开时运行宏 210
12.4.3 关闭表时运行宏 211
12.4.4 在特定时刻运行宏 212
12.4.5 当按下特定键时运行一个宏 214
12.4.6 在窗口被激活时运行宏 217
12.4.7 当工作表重新计算时运行宏 218
12.4.8 产生错误时运行一个宏 218
第4部分 专题讨论 223
第13章 用宏绘图表 223
13.1 使用绘图表宏函数 223
13.1.1 GET.DOCUMENT函数 223
13.1.2 将SELECT用于图表 224
13.1.3 GET.CHART.ITEM函数 225
13.1.5 FORMULA函数 227
13.1.4 GET.FORMULA函数 227
13.1.6 SERIES函数 228
13.1.7 EDIT.SERIES函数 229
13.2 绘图表宏实例分析 230
13.2.1 自动演示 230
13.2.2 绘制股票价格图表 233
13.2.3 将Apply Names用于图表 236
14.1 利用宏函数创建打印宏 239
14.1.1 设置页面和打印机 239
第14章 创建打印宏 239
14.1.2 打印文件的一部分页 242
14.1.3 设定打印区域 242
14.2 打印一个简单的报告 243
14.2.1 打印一个命名的区 244
14.2.2 打印几个命名区之一 244
14.2.3 打印几个区域 245
14.3 在多个表中打印 246
15.1.1 FILES函数 249
15.1 管理磁盘驱动器 249
第15章 文件操作 249
15.1.2 FILE.EXIST附加函数 250
15.1.3 DIRECTORY函数 250
15.1.4 DIRECTORIES附加函数 251
15.1.5 CREATE.DIRECTORY和DELETE.DIRECTORY附加函数 251
15.2 使用普通文件 251
15.2.1 打开文件 252
15.2.2 存储文件 255
15.2.3 关闭文件 257
15.2.4 删除文件 258
15.3 使用正文文件 258
15.3.1 使用正文文件的函数 259
15.3.2 读、写正文行 263
15.3.3 读、写字符块 265
15.3.4 清除文件中字处理字符 266
15.3.5 在文件尾增加数据 267
15.3.6 删除正文文件 267
15.3.7 仅当文件不存在时才创建它 268
第16章 提高宏的运行速度 269
16.1 基准宏 269
16.2 加速宏的建议 271
16.2.1 文件操作极小化 271
16.2.2 屏幕动作极小化 271
16.2.3 使用引用的快速形式 274
16.2.4 优化单元编辑 275
16.3 使宏看起来运行得更快 276
16.2.6 优化定制对话框和菜单 276
16.2.5 提高循环效率 276
16.3.1 使用MESSAGE 277
16.3.2 使用状态屏幕 277
16.3.3 在用户空闲时处理 277
16.4 函数宏 278
16.4.1 使用公式 278
16.4.2 在IF公式中调用函数宏 278
17.1 不用MTA进行工作 281
17.2 运行MTA前的翻译考虑 281
第17章 翻译Lotus1-2-3宏 281
第5部分 特殊平台的专题讨论 281
17.2.1 宏和Ready模式 282
17.2.2 不完整的命令 282
17.2.3 自修改的代码 282
17.2.4 文件命令 283
17.2.5 口令 283
17.2.6 Cancel/Replace菜单 283
17.3 运行MTA后的翻译考虑 284
17.2.8 其它非直接分支 284
17.2.7 {DISPATCH}命令 284
17.3.1 公式或字符串太长的错误信息 285
17.3.2 缺省格式 285
17.3.3 重计算次序 285
17.3.4 打印 285
17.3.5 选择公式显示方式 285
17.3.6 名字 286
17.3.7 暂停(?)命令 286
17.3.8 区域的输入 286
17.3.10 公式编辑 287
17.3.9 绘图 287
17.4 优化 288
17.4.1 专用名字 288
17.4.2 文件名字 288
17.4.3 临时名字 289
17.4.4 输入格式 289
17.5 错误、警告和翻译消息 289
第18章 使用SEND.KEYS 294
18.1 SEND.KEYS的介绍 294
18.2 在Excel应用程序中使用SEND.KEYS 295
18.2.1 使用具有对话框的SEND.KEYS 296
18.2.2 在宏中使用SEND.KEYS 296
18.2.3 使用SEND.KEYS的循环 298
18.3 同别的应用程序一起使用SEND.KEYS 299
18.4 SEND.KEYS的应用 301
18.4.1 登记工作表的改变 301
18.4.2 打开由口令保护的工作表 302
18.4.3 编辑公式 303
附录 Excel函数以字母顺序排列 304