




已阅读5页,还剩386页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目目 录录 一 一 VBA 语言基础语言基础 1 第一节 标识符 1 第二节 运算符 1 第三节 数据类型 1 第四节 变量与常量 1 第五节 数组 2 第六节 注释和赋值语句 2 第七节 书写规范 2 第八节 判断语句 2 第九节 循环语句 3 第十节 其他类语句和错误语句处理 4 第十一节 过程和函数 4 一 Sub过程 4 二 Function函数 5 三 Property属性过程和Event事件过程 5 第十二节内部函数 5 一 测试函数 5 二 数学函数 5 三 字符串函数 6 四 转换函数 6 五 时间函数 6 第十三节 文件操作 6 文件 6 删除 7 打开 7 读入 7 写入 7 关闭 7 其他文件函数 7 二 二 VISUAL BASIC 程序设计网络教学程序设计网络教学 1 第一课第一课 VBA 是什么是什么 1 1 1 VBA 是什么 1 1 2 EXCEL 环境中基于应用程序自动化的优点 1 1 3 录制简单的宏 2 1 4 执行宏 2 1 5 查看录制的代码 2 1 6 编辑录制的代码 3 1 7 录制宏的局限性 4 1 8 小结 4 第二课第二课 处理录制的宏处理录制的宏 4 2 1 为宏指定快捷键 4 2 2 决定宏保存的位置 5 2 3 个人宏工作簿 5 2 3 1 保存宏到个人宏工作簿 5 2 3 2 使用并编辑个人宏工作簿中的宏 5 2 4 将宏指定给按钮 6 2 5 将宏指定给图片或其他对象 6 2 6 小结 7 第三课第三课 学习控件学习控件 7 3 1 EXCEL 开发过程简介 7 3 2 认识不同的控件 7 3 3 向工作表添加控件 7 3 4 设置控件的特性 8 3 5 给控件命名 8 3 6 使用用户窗体 8 3 7 疑难解答 9 第四课第四课 理解变量和变量的作用理解变量和变量的作用 9 4 1 代码存在的位置 模块 9 4 2 对模块的概览 10 4 2 1 创建过程 10 4 2 2 运行宏 11 4 3 保存对模块所做的改变 11 4 4 变量 11 4 4 1 变量的数据类型 11 4 4 2 用Dim语句创建变量 声明变量 13 4 4 3 变量命名的惯例 13 4 4 4 使用数组 14 4 4 5 变量赋值 15 第五课第五课 利用利用 VBA 设置工作表使用权限设置工作表使用权限 15 1 使用 WITH语句 17 2 使用对象变量 17 方法 3 减少对象的激活和选择 17 方法 4 关闭屏幕更新 18 第六课第六课 提高提高 EXCEL 中中 VBA 的效率的效率 19 方法 1 尽量使用 VBA 原有的属性 方法和 WORKSHEET函数 19 方法 2 尽量减少使用对象引用 尤其在循环中 19 1 使用With语句 19 2 使用对象变量 20 3 在循环中要尽量减少对象的访问 20 方法 3 减少对象的激活和选择 20 方法 4 关闭屏幕更新 20 第七课第七课 如何在如何在 EXCEL 里使用定时器里使用定时器 20 三 学习微软三 学习微软 EXCEL 2002 VBA 编程和编程和 XML ASP 技术技术 22 第一章第一章 电子表格自动化简介和了解宏命令电子表格自动化简介和了解宏命令 22 1 了解宏 22 2 宏命令的普通应用 22 3 写宏之前的计划 23 4 录制宏 24 5 运行宏 26 6 修改宏代码 26 7 添加注释 29 8 分析宏代码 29 9 清除宏代码 30 10 测试修改好的宏 31 11 两个层面运行宏的方法 32 12 完善你的宏代码 32 13 重新命名宏 34 14 运行宏的其它方法 34 15 使用键盘快捷键运行宏 34 16 通过菜单运行宏 35 17 通过工具栏按钮运行宏 37 18 通过工作表里面的按钮运行宏 38 19 保存宏 39 20 打印宏 39 21 保存宏在个人宏工作簿 40 22 打开含有宏的工作簿 41 23VB 编辑窗口 42 24 了解工程浏览窗口 43 25 了解属性窗口 43 26 了解代码窗口 44 27 VB 编辑器里的其它窗口 46 28 接下来 46 第二章第二章 VBA 第一步第一步 46 1 了解指令 模块和过程 47 2 VBA 工程命名 47 3 模块重命名 48 4 从其它工程调用过程 49 5 了解对象 属性和方法 50 6 学习对象 属性和方法 51 7 句法和文法 53 8 打断很长的 VBA 语句 55 9 了解 VBA 错误 55 10 查找帮助 57 11 语法和编程快捷助手 58 12 属性 方法列表 59 13 常数列表 59 14 参数信息 60 15 快速信息 60 16 自动完成关键字 60 17 缩进 凸出 61 18 设置注释块 解除注释块 61 19 使用对象浏览器 61 20 使用 VBA 对象库 66 21 用对象浏览器来定位过程 67 22 使用立即窗口 67 23 获取立即窗口里的信息 69 24 学习对象 70 25 电子表格单元格操作 70 26 使用 RANGE属性 70 27 使用 CELLS属性 71 28 使用 OFFSET属性 71 29 选择单元格的其它方法 72 30 选择行和列 73 31 获取工作表信息 73 32 往工作表输入数据 73 33 返回工作表中的信息 74 34 单元格格式 74 35 移动 复制和删除单元格 74 36 操作工作簿和工作表 75 37 操作窗口 WINDOWS 76 38 管理 EXCEL应用程序 76 39 接下来 77 第三章第三章 了解变量 数据类型和常量了解变量 数据类型和常量 77 1 保存 VBA 语句的结果 77 2 变量是什么 77 3 数据类型 78 4 如何产生变量 78 5 如何声明变量 79 6 明确变量的数据类型 80 7 变量赋值 81 8 强制声明变量 84 9 了解变量范围 85 10 过程级别 当地 变量 85 11 模块级别变量 85 12 工程级别变量 86 13 变量的存活期 86 14 了解和使用静态变量 86 15 声明和使用对象变量 87 16 使用明确的对象变量 88 17 查找变量定义 88 18 在 VB 过程里面使用常量 89 19 内置常量 89 20 接下来 90 第四章第四章 VBA 过程 子程序和函数过程 子程序和函数 91 1 关于函数过程 91 2 创建函数过程 91 3 执行函数过程 92 4 从工作表里运行函数过程 93 5 从另外一个 VBA 过程里运行函数过程 94 6 传递参数 95 7 明确参数类型 96 8 按地址和按值传递参数 97 9 使用可选的参数 97 10 定位内置函数 98 11 使用 MSGBOX函数 99 12 MSGBOX函数的运行值 103 13 使用 INPUTBOX函数 104 14 数据类型转变 105 15 使用 INPUTBOX方法 106 16 使用主过程和子过程 109 17 接下来 111 第五章第五章 基于基于 VBA 做决定做决定 111 1 关系和逻辑运算符 111 2 IF THEN语句 112 3 基于多于一个条件的决定 114 4 THE IF THEN ELSE语句 115 5 IF THEN ELSEIF语句 118 6 嵌套的 IF THEN语句 119 7 SELECT CASE语句 120 8 和 CASE子句一起使用 IS 121 9 确定 CASE子句里数值的范围 122 10 在 CASE子句里确定多个表达式 123 11 接下来 123 第六章第六章 在在 VBA 中重复操作中重复操作 123 1 DO LOOPS DO WHILE和 DO UNTIL 123 2 观察过程执行 126 3 WHILE WEND循环 127 4 FOR NEXT 循环 128 5 FOR EACH NEXT循环 129 7 提前跳出循环 130 8 循环嵌套 131 9 接下来 131 第七章第七章 利用利用 VBA 数组管理数据清单和表格数组管理数据清单和表格 131 1 了解数组 132 2 声明数组 133 3 数组的上界和下界 133 4 在 VBA 过程里使用数组 134 5 数组和循环语句 135 6 使用二维数组 136 7 静态和动态数组 137 8 数组函数 139 9 ARRAY函数 139 10 ISARRAY函数 140 11 ERASE函数 140 12 LBOUND函数和 UBOUND函数 141 13 数组中的错误 141 14 数组作为参数 143 15 接下来 143 第八章第八章 利用利用 VBA 操纵文件和文件夹操纵文件和文件夹 144 1 获取当前文件夹的名称 CURDIR函数 144 2 更改文件或文件夹名称 NAME函数 145 3 检查文件或文件夹是否存在 DIR函数 145 4 获得文件修改的日期和时间 FILEDATETIME函数 147 5 获得文件大小 FILELEN函数 147 6 返回和设置文件属性 GETATTR函数和 SETATTR函数 147 7 更改缺省文件夹或驱动器 CHDIR语句和 CHDRIVE语句 149 8 创建和删除文件夹 MKDIR语句和 RMDIR语句 149 9 复制文件 FILECOPY语句 149 10 删除文件 KILL语句 151 11 从文件读取和写入数据 INPUT OUTPUT 151 12 文件访问类型 152 13 使用顺序文件 152 14 读取储存于顺序文件里的数据 152 15 逐行读取文件 152 16 从顺序文件中读取字符 153 17 读取分隔文本文件 155 18 往顺序文件里写数据 155 19 使用 WRITE 和 PRINT 语句 156 20 操作随机文件 157 21 创建用户定义的数据类型 157 22 操作二进制文件 161 23 操作文件和文件夹的时髦方法 162 24 使用 WSH 获取文件信息 164 25 FILESYSTEMOBJEC的方法和属性 165 26 对象 FILE的属性 168 27 文件夹对象属性 169 28 驱动器对象属性 169 29 使用 WSH 创建文本文件 170 30 使用 WSH 进行其它操作 172 31 运行其它应用程序 172 32 创建快捷方式 173 33 接下来 174 第九章第九章 利用利用 VBA 控制其它应用程序控制其它应用程序 174 1 启动应用程序 174 2 在应用程序之间切换 177 3 控制其它应用程序 177 4 控制应用程序的其它方法 179 5 了解自动控制 179 6 了解链接和嵌入 180 7 使用 VBA 进行链接和嵌入 181 8 COM 和自动控制 182 9 了解绑定 182 10 后期绑定 182 11 早期绑定 182 12 建立到对象库的引用 183 13 创建自动控制对象 184 14 使用 CREATEOBJECT函数 184 15 使用自动控制创建一个新的 WORD文档 185 16 使用 GETOBJECT函数 185 17 打开存在的 WORD文档 186 18 使用关键字 NEW 187 19 使用自动控制访问 MICROSOFT OUTLOOK 188 20 接下来 189 第十章第十章 对话框和自定义窗体对话框和自定义窗体 189 1 文件打开和另存为对话框 192 2 GETOPENFILENAME和 GETSAVEASFILENAME方法 196 3 创建窗体 197 4 创建用户窗体的工具 199 5 标签 200 6 文字框 200 7 框架 200 8 选项按钮 201 9 复选框 201 10 切换按钮 201 11 列表框 201 12 复合框 201 13 滚动条 201 14 旋转按钮 201 15 图像 201 16 多页控件 202 17 TABSTRIP控件 202 18 REFEDIT控件 202 19 在窗体上放置控件 202 20 应用程序示例 1 信息调查 202 21 在窗体上添加按钮 选项框和其它控件 204 22 更改控件名称 206 23 设置其它控件属性 206 24 准备工作表以储存窗体数据 207 25 显示自定义窗体 208 26 设置 TAB顺序 208 27 了解窗体和控件事件 209 28 编写 VBA 过程对窗体和控件事件反应 211 29 编写过程来初始化窗体 211 30 编写过程填充列表框控件 213 31 编写过程控制选项按钮 213 32 编写过程同步文字框和旋转按钮 214 33 编写过程关闭用户窗体 214 34 转移窗体数据到工作表 215 35 使用 INFO SURVEY应用程序 216 36 应用程序示例 2 学生和考试 216 37 使用多页和 TABSTRIP控件 216 38 给窗体 STUDENTS AND EXAMS自定义窗体编写 VBA 过程 218 39 使用自定义窗体 STUDENTS AND EXAMS 223 40 接下来 225 第十一章第十一章 自定义集合和类模块自定义集合和类模块 225 1 使用集合 226 2 声明自定义集合 227 3 给自定义集合添加对象 227 4 从自定义集合移出对象 228 5 创建自定义对象 229 6 创建类 229 7 变量声明 229 8 定义类的属性 230 9 创建 PROPERTY GET过程 230 10 创建 PROPERTY LET过程 231 11 创建类方法 232 12 创建类的示例 232 13 类模块里的事件过程 232 14 创建用户界面 233 15 观察 VBA 过程的执行 242 16 接下来 245 第十二章第十二章 使用使用 VBA 创建自定义菜单和工具栏创建自定义菜单和工具栏 245 1 工具栏 245 2 创建自定义工具栏 247 3 删除自定义工具栏 249 4 使用 COMMANDBAR的属性 249 5 使用 COMMANDBAR控件 249 6 理解和使用控件属性 251 7 控件方法 253 8 使用菜单 254 9 菜单编程 256 10 创建子菜单 258 11 修改内置快捷菜单 260 12 创建快捷菜单 262 13 接下来 264 第十三章第十三章 调试调试 VBA 过程和处理错误过程和处理错误 264 1 测试 VBA 过程 265 2 终止过程 265 3 使用断点 266 4 在中断模式下使用立即窗口 269 5 使用 STOP语句 271 6 添加监视表达式 271 7 清除监视表达式 274 8 使用快速监视 274 9 使用本地窗口和调用堆栈对话框 275 10 逐句运行 VBA 过程 276 11 逐句运行过程 277 12 逐过程执行过程 277 13 设置下一条语句 278 14 显示下一条语句 279 15 终止和重新设置 VBA 过程 279 16 了解和使用条件编译 279 17 操纵书签 281 18 捕捉错误 281 17 接下来 285 第十四章第十四章 微微软软 EXCEL 2002 中的事件中的事件编编程程 285 1 事件过程介绍 285 2 激活和失活事件 287 3 事件次序 289 4 工作表事件 289 5 工作簿事件 294 6 图表事件 312 7 内嵌图表事件 316 8 可为应用软件对象识别的事件 317 9 查询表时间 320 10 接下来 323 第十五章第十五章 在在 EXCEL 里使用里使用 ACCESS 323 1 对象库 323 2 建立对对象库的引用 329 3 链接到 ACCESS 329 4 使用 AUTOMATION链接到 ACCESS数据库 331 5 使用 DAO 链接到 ACCESS数据库 334 6 使用 ADO 链接到 ACCESS数据库 334 7 从 EXCEL执行 ACCESS任务 336 8 创建新 ACCESS数据库 336 9 打开 ACCESS窗体 338 10 打开 ACCESS报表 343 11 运行 ACCESS查询 345 12 运行选择查询 347 13 运行参数查询 348 14 调用 ACCESS函数 350 15 获取 ACCESS数据到 EXCEL工作表 350 16 使用 GETROWS方法获取数据 350 17 使用 COPYFROMRECORDSET方法获取数据 354 18 使用 TRANSFERSPREADSHEET方法获取数据 354 19 使用 OPENDATABASE方法 356 20 从 ACCESS数据创建文本文件 360 21 从 ACCESS数据创建查询表 363 22 在 EXCEL里使用 ACCESS数据 365 23 用 ACCESS数据创建内嵌图表 365 24 传输 EXCEL电子表格到 ACCESS数据库 367 25 将 EXCEL电子表格链接到 ACCESS数据库 369 26 将 EXCEL电子表格导入 ACCESS数据库 370 27 放置 EXCEL数据到 ACCESS表中 370 28 接下来 374 VBA 语言基础 1 一 一 VBA 语言基础语言基础 Zhou Jibin 2004 11 30 第一节第一节 标识符标识符 一 定义 标识符是一种标识变量 常量 过程 函数 类等语言构成单位的符号 利用它可以完成对变量 常量 过程 函数 类等的引用 二 命名规则 1 字母打头 由字母 数字和下划线组成 如 A987b 23Abc 2 字符长度小于 40 Excel2002 以上中文版等 可以用汉字且长度可达 254 个字符 3 不能与 VB 保留字重名 如 public private dim goto next with integer single 等 第二节第二节 运算符运算符 定义 运算符是代表 VB 某种运算功能的符号 1 赋值运算符 2 数学运算符 2 过程名 参数 1 参数 2 debug print x1 y1 结果是 12 112 y1 按地址传递改变了值 而 x1 按值传递 未改变原 值 End sub 二 二 FunctionFunction 函数函数 函数实际是实现一种映射 它通过一定的映射规则 完成运算并返回结果 参数传递也两种 按值 传递 ByVal 和按地址传递 ByRef 如下例 Function password ByVal x as integer byref y as integer as boolean If y 100 then y x y else y x y x x 100 if y 150 then password true else password false End Function Sub call password Dim x1 as integer Dim y1 as integer x1 12 y1 100 if password then 调用函数 1 作为一个表达式放在 右端 2 作为参数使用 debug print x1 end if End sub 三 三 PropertyProperty 属性过程和属性过程和 EventEvent 事件过程事件过程 这是 VB 在对象功能上添加的两个过程 与对象特征密切相关 也是 VBA 比较重要组成 技术比较 复杂 可以参考相关书籍 第十二节内部函数第十二节内部函数 在 VBA 程序语言中有许多内置函数 可以帮助程序代码设计和减少代码的编写工作 一 测试函数一 测试函数 IsNumeric x 是否为数字 返回 Boolean 结果 True or False IsDate x 是否是日期 返回 Boolean 结果 True or False IsEmpty x 是否为 Empty 返回 Boolean 结果 True or False IsArray x 指出变量是否为一个数组 IsError expression 指出表达式是否为一个错误值 IsNull expression 指出表达式是否不包含任何有效数据 Null IsObject identifier 指出标识符是否表示对象变量 二 数学函数二 数学函数 Sin X Cos X Tan X Atan x 三角函数 单位为弧度 Log x 返回 x 的自然对数 Exp x 返回 ex Abs x 返回绝对值 Int number Fix number 都返回参数的整数部分 区别 Int 将 8 4 转换成 9 而 Fix 将 8 4 转换成 8 Sgn number 返回一个 Variant Integer 指出参数的正负号 VBA 语言基础 6 Sqr number 返回一个 Double 指定参数的平方根 VarType varname 返回一个 Integer 指出变量的子类型 Rnd x 返回 0 1 之间的单精度数据 x 为随机种子 三 字符串函数三 字符串函数 Trim string 去掉 string 左右两端空白 Ltrim string 去掉 string 左端空白 Rtrim string 去掉 string 右端空白 Len string 计算 string 长度 Left string x 取 string 左段 x 个字符组成的字符串 Right string x 取 string 右段 x 个字符组成的字符串 Mid string start x 取 string 从 start 位开始的 x 个字符组成的字符串 Ucase string 转换为大写 Lcase string 转换为小写 Space x 返回 x 个空白的字符串 Asc string 返回一个 integer 代表字符串中首字母的字符代码 Chr charcode 返回 string 其中包含有与指定的字符代码相关的字符 四 转换函数四 转换函数 CBool expression 转换为 Boolean 型 CByte expression 转换为 Byte 型 CCur expression 转换为 Currency 型 CDate expression 转换为 Date 型 CDbl expression 转换为 Double 型 CDec expression 转换为 Decemal 型 CInt expression 转换为 Integer 型 CLng expression 转换为 Long 型 CSng expression 转换为 Single 型 CStr expression 转换为 String 型 CVar expression 转换为 Variant 型 Val string 转换为数据型 Str number 转换为 String 五 时间函数五 时间函数 Now 返回一个 Variant Date 根据计算机系统设置的日期和时间来指定日期和时间 Date 返回包含系统日期的 Variant Date Time 返回一个指明当前系统时间的 Variant Date Timer 返回一个 Single 代表从午夜开始到现在经过的秒数 TimeSerial hour minute second 返回一个 Variant Date 包含具有具体时 分 秒的时间 DateDiff interval date1 date2 firstdayofweek firstweekofyear 返回 Variant Long 的值 表示两个指定日期间的时间间隔数目 Second time 返回一个 Variant Integer 其值为 0 到 59 之间的整数 表示一分钟之中的某个秒 Minute time 返回一个 Variant Integer 其值为 0 到 59 之间的整数 表示一小时中的某分钟 Hour time 返回一个 Variant Integer 其值为 0 到 23 之间的整数 表示一天之中的某一钟点 Day date 返回一个 Variant Integer 其值为 1 到 31 之间的整数 表示一个月中的某一日 Month date 返回一个 Variant Integer 其值为 1 到 12 之间的整数 表示一年中的某月 Year date 返回 Variant Integer 包含表示年份的整数 Weekday date firstdayofweek 返回一个 Variant Integer 包含一个整数 代表某个日期是星 期几 VBA 语言基础 7 第十三节第十三节 文件操作文件操作 文件文件 Dir pathname attributes pathname 可选参数 用来指定文件名的字符串表达式 可能包含 目录或文件夹 以及驱动器 如果没有找到 pathname 则会返回零长度字符串 attributes 可 选参数 常数或数值表达式 其总和用来指定文件属性 如果省略 则会返回匹配 pathname 但不包含 属性的文件 删除删除 Kill pathname 从磁盘中删除文件 pathname 参数是用来指定一个文件名 RmDir pathname从磁盘中删除删除目录 pathname 参数是用来指定一个文件夹 打开打开 Open pathname For mode Access access lock As filenumber Len reclength 能够对文件 输入 输出 I O pathname 必要 字符串表达式 指定文件名 该文件名可能还包括目录 文件夹及驱动器 mode 必要 关键字 指定文件方式 有 Append Binary Input Output 或 Random 方式 如果未 指定方式 则以 Random 访问方式打开文件 access 可选 关键字 说明打开的文件可以进行的操作 有 Read Write 或 Read Write 操作 lock 可选 关键字 说明限定于其它进程打开的文件的操作 有 Shared Lock Read Lock Write 和 Lock Read Write 操作 filenumber 必要 一个有效的文件号 范围在 1 到 511 之间 使用 FreeFile 函数可得到下一个可 用的文件号 reclength 可选 小于或等于 32 767 字节 的一个数 对于用随机访问方式打开的 文件 该值就是记录长度 对于顺序文件 该值就是缓冲字符数 说明说明 对文件做任何 I O 操作之前都必须先打开文件 Open 语句分配一个缓冲区供文件进行 I O 之用 并决定缓冲区所使用的访问方式 如果 pathname 指定的文件不存在 那么 在用 Append Binary Output 或 Random 方式打开文件时 可以建立这一文件 如果文件已由其它进程打 开 而且不允许指定的访问类型 则 Open 操作失败 而且会有错误发生 如果 mode 是 Binary 方式 则 Len 子句会被忽略掉 重要重要 在 Binary Input 和 Random 方式下可以用不同的文件号打开同一文件 而不必先将该文件关闭 在 Append 和 Output 方式下 如果要用不同的文件号打开同一文件 则必须在打开文件之前先关闭该 文件 读入读入 Input filenumber varlist 从已打开的顺序文件中读出数据并将数据指定给变量 Get filenumber recnumber varname 将一个已打开的磁盘文件读入一个变量之中 写入写入 Write filenumber outputlist 将数据写入顺序文件 Print filenumber outputlist 将格式化显示的数据写入顺序文件中 Put filenumber recnumber varname 将一个变量的数据写入磁盘文件中 关闭关闭 Close filenumberlist 关闭 Open 语句所打开的输入 输出 I O 文件 注意 如果今后想用 Input 语句读出文件的数据 就要用 Write 语句而不用 Print 语句将数据 写入文件 因为在使用 Write 时 将数据域分界就可确保每个数据域的完整性 因此可用 Input 再将数据读出来 使用 Write 还能确保任何地区的数据都被正确读出 Write 与 Print 语句不同 当要将数据写入文件时 Write 语句会在项目和用来标记字符串的引号之间插入逗号 Write 语句 在将 outputlist 中的最后一个字符写入文件后会插入一个新行字符 即回车换行符 Chr 13 Chr 10 其他文件函数其他文件函数 LOF filenumber 返回一个 Long 表示用 Open 语句打开的文件的大小 该大小以字节为单位 EOF filenumber 返回一个 Integer 它包含 Boolean 值 True 表明已经到达为 Random 或顺序 Input 打开的文件的结尾 Loc filenumber 返回一个 Long 在已打开的文件中指定当前读 写位置 Seek filenumber 返回一个 Long 在 Open 语句打开的文件中指定当前的读 写位 Visual BASIC 程序设计网络教学 橄榄树整理 1 二 二 Visual BASIC 程序设计网络教学程序设计网络教学 第一课第一课 VBA 是什么是什么 1 1 VBA 是什么是什么 直到 90 年代早期 使应用程序自动化还是充满挑战性的领域 对每个需要自动化的应用 程序 人们不得不学习一种不同的自动化语言 例如 可以用 EXCEL 的宏语言来使 EXCEL 自动 化 使用 WORD BASIC 使 WORD 自动化 等等 微软决定让它开发出来的应用程序共享一种通用 的自动化语言 Visual Basic For Application VBA 可以认为 VBA 是非常流行的 应用程序开发语言 VASUAL BASIC 的子集 实际上 VBA 是 寄生于 VB 应用程序的版本 VBA 和 VB 的区别包括如下几个方面 1 VB 是设计用于创建标准的应用程序 而 VBA 是使已有的应用程序 EXCEL 等 自动化 2 VB 具有自己的开发环境 而 VBA 必须寄生于已有的应用程序 3 要运行 VB 开发的应用程序 用户不必安装 VB 因为 VB 开发出的应用程序是可执行 文件 EXE 而 VBA 开发的程序必须依赖于它的 父 应用程序 例如 EXCEL 尽管存在这些不同 VBA 和 VB 在结构上仍然十分相似 事实上 如果你已经了解了 VB 会 发现学习 VBA 非常快 相应的 学完 VBA 会给学习 VB 打下坚实的基础 而且 当学会在 EXCEL 中用 VBA 创建解决方案后 即已具备在 WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用 VBA 创建解决方案的大部分知识 VBA 一个关键特征是你所学的知识在微软的一些产品中可以相互转化 VBA 可以称作 EXCEL 的 遥控器 VBA 究竟是什么 更确切地讲 它是一种自动化语言 它可以使常用的程序自动化 可以 创建自定义的解决方案 此外 如果你愿意 还可以将 EXCEL 用做开发平台实现应用程序 1 2 EXCEL 环境中基于应用程序自动化的优点环境中基于应用程序自动化的优点 也许你想知道 VBA 可以干什么 使用 VBA 可以实现的功能包括 1 使重复的任务自动化 2 自定义 EXCEL 工具栏 菜单和界面 3 简化模板的使用 4 自定义 EXCEL 使其成为开发平台 5 创建报表 6 对数据进行复杂的操作和分析 用 EXCEL 作为开发平台有如下原因 1 EXCEL 本身功能强大 包括打印 文件处理 格式化和文本编辑 2 EXCEL 内置大量函数 3 EXCEL 界面熟悉 4 可连接到多种数据库 用其他语言开发应用程序 一半的工作是编写一些基本功能的模块 包括文件的打开和 保存 打印 复制等 而用 EXCEL 作为开发平台 则由于 EXCEL 已经具备这些基本功能 你要做 的只是使用它 Visual BASIC 程序设计网络教学 橄榄树整理 2 1 3 录制简单的宏录制简单的宏 在介绍学习 VBA 之前 应该花几分钟录制一个宏 新术语 宏 指一系列 EXCEL 能够执行的 VBA 语句 以下将要录制的宏非常简单 只是改变单元格颜色 请完成如下步骤 1 打开新工作簿 确认其他工作簿已经关闭 2 选择 A1 单元格 调出 常用 工具栏 3 选择 工具 宏 录制新宏 4 输入 改变颜色 作为宏名替换默认宏名 单击确定 注意 此时状态栏中显示 录制 特别是 停止录制 工具栏也显示出来 替换默认宏名主要是便于分别这些宏 宏名最多可为 255 个字符 并且必须以字母开始 其中可用的字符包括 字母 数 字和下划线 宏名中不允许出现空格 通常用下划线代表空格 5 选择 格式 的 单元格 选择 图案 选项中的红色 单击 确定 6 单击 停止录制 工具栏按钮 结束宏录制过程 如果 停止录制 工具栏开始并未出现 请选择 工具 宏 停止录制 录制完一个宏后就可以执行它了 1 4 执行宏执行宏 当执行一个宏时 EXCEL 按照宏语句执行的情况就像 VBA 代码在对 EXCEL 进行 遥控 但 VBA 的 遥控 不仅能使操作变得简便 还能使你获得一些使用 EXCEL 标准命令所无法 实现的功能 而且 一旦熟悉了 EXCEL 的 遥控 你都会奇怪自己在没有这些 遥控 的情 况下 到底是怎么熬过来的 要执行刚才录制的宏 可以按以下步骤进行 1 选择任何一个单元格 比如 A3 2 选择 工具 宏 宏 显示 宏 对话框 3 选择 改变颜色 选择 执行 则 A3 单元格的颜色变为红色 试着选择其它单元 格和几个单元格组成的区域 然后再执行宏 以便加深印象 1 5 查看录制的代码查看录制的代码 到底是什么在控制 EXCEL 的运行呢 你可能有些疑惑 好 让我们看看 VBA 的语句吧 1 选择 工具 宏 宏 显示 宏 对话框 2 单击列表中的 改变颜色 选择 编辑 按钮 此时 会打开 VBA 的编辑器窗口 VBE 关于该编辑器 以后再详细说明 先将注意 力集中到显示的代码上 代码如下 日期和姓名会有不同 Sub 改变颜色 改变颜色 Macro xw 记录的宏 2000 6 10 Visual BASIC 程序设计网络教学 橄榄树整理 3 With Selection Interior ColorIndex 3 Pattern xlSolid PatternColorIndex xlAutomatic End With End Sub 将来会十分熟悉这种代码 虽然现在它们看上去像一种奇怪的外语 学习 VBA 或编程语言 在某种程度上比较像在学习一种外语 Sub 改变颜色 这是宏的名称 中间的以 开头的五行称为 注释 它在录制宏时自动产生 以 With 开头到 End With 结束的结构是 With 结构语句 这段语句是宏的主要部分 注意 单词 selection 它代表 突出显示的区域 即 选定区域 With Selection Interior 它读作 选择区域的的内部 这整段语句设置该区域内部的一些 属性 其中 ColorIndex 3 将该内部设为红色 注意 有一小圆点 它的作用在于简化语句 小圆 点代替出现在 With 后的词 它是 With 结构的一部分 另外 红色被数字化为 3 红色警戒 是否可称作 3 号警戒 嗯 有兴趣的话 你将 3 改为其他数字试试看 Pattern xlSolid 设置该区域的内部图案 由于是录制宏 所以 虽然你并未设置这 一项 宏仍然将其记录下来 因为在 图案 选项中有此一项 只是你为曾设置而已 xlSolid 表示纯色 PatternColorIndex xlAutomatic 表示内部图案底纹颜色为自动配色 End With 结束 With 语句 End Sub 整个宏的结束语 1 6 编辑录制的代码编辑录制的代码 在上一节 我们录制了一个宏并查看了代码 代码中有两句实际上并不起作用 哪两 句 现在 在宏中作一个修改 删除多余行 直到和下面代码相同 Sub 改变颜色 改变颜色 Macro xw 记录的宏 2000 6 10 Visual BASIC 程序设计网络教学 橄榄树整理 4 With Selection Interior ColorIndex 3 End With End Sub 完成后 在工作表中试验一下 你会发现结果和修改前的状况一样 在 With 语句前 加入一行 Range A5 Select 试着运行该宏 则无论开始选择哪个单元格 宏运行结果都是使 A5 单元格变红 现在可以看到 编辑录制的宏同样非常简单 需要编辑宏是因为以下三个方面的原因 一 在录制中出错而不得不修改 二 录制的宏中有多余的语句需要删除 提高宏的运行 速度 三 希望增加宏的功能 比如 加入判断或循环等无法录制的语句 1 7 录制宏的局限性录制宏的局限性 希望自动化的许多 EXCEL 过程大多都可以用录制宏来完成 但是宏记录器存在以下局限 性 通过宏记录器无法完成的工作有 1 录制的宏无判断或循环能力 2 人机交互能力差 即用户无法进行输入 计算机无法给出提示 3 无法显示 EXCEL 对话框 4 无法显示自定义窗体 1 8 小结小结 本课中 你已经掌握了 VBA 的一些基础知识 你会录制宏 编辑宏而且了解了录制宏的 局限性 你很努力 并且已经为将来学习 VBA 甚至 VB 等编程语言打下了基础 关键是你已经 了解了一个谜底 就是说 你了解了什么是编程 下面是些小练习 做完后才可以去玩哟 思考 1 VBA 只能用于 EXCEL 吗 2 VBA 是基于哪种语言 3 说说 EXCEL 和 VBA 的关系 4 为什么要用宏 第二课第二课 处理录制的宏处理录制的宏 2 1 为宏指定快捷键为宏指定快捷键 你也许希望为经常使用的宏指定快捷键 快捷键是指键的组合 当其按下时执行一条 命令 例如 CTRL C 在许多程序中代表 复制 命令 当给宏指定了快捷键后 就可以用快捷键来执行宏 而不必通过 工具 菜单 注意 当包含宏的工作簿打开时间 为宏指定快捷键会覆盖 EXCEL 默认的快捷键 例 Visual BASIC 程序设计网络教学 橄榄树整理 5 如 把 CTRL C 指定给某个宏 那么 CTRL C 就不再执行复制命令 用以下方法可以打印出 EXCEL 的快捷键清单 用 A4 纸打印共有 24 页之多 1 打开 EXCEL 帮助文件并选择 目录 选项 2 从 使用快捷键 文件夹中选择 快捷键 标题 3 右击该标题 从快捷菜单中选择 打印 4 选择 打印所选标题和所有子主题 单击 确定 可以在创建宏时指定快捷键 也可以在创建后再指定 要在创建 录制 宏时指定快捷键 只须在录制宏时在输入宏名后 在 快捷键 文本框中输入相应的键 录制宏后指定快捷键 也很简单 只需选择 工具 宏 显示 宏 对话框 选择要指定快捷键的宏 再单击 选项 按钮 通过 选项 对话框进行设置 2 2 决定宏保存的位置决定宏保存的位置 宏可保存在三种可能的位置 1 当前工作簿 只有该工作簿打开时 该宏才可用 2 新工作簿 3 个人宏工作簿 2 3 个人宏工作簿个人宏工作簿 个人宏工作簿 是为宏而设计的一种特殊的具有自动隐藏特性的工作簿 第一次将宏 创建到个人宏工作簿时 会创建名为 PERSONAL XLS 的新文件 如果该文件存在 则每当 EXCEL 启动时会自动将此文件打开并隐藏在活动工作簿后面 在 窗口 菜单中选择 取消隐 藏 后 可以很方便地发现它的存在 如果你要让某个宏在多个工作簿都能使用 那么就 应当创建个人宏工作簿 并将宏保存于其中 个人宏工作簿保存在 XLSTART 文件夹中 具 体路径为 C WINDOWS Profiles Application Data Microsoft Excel XLSTART 可以以 单词 XLSTART 查询 注意 如果存在个人宏工作簿 则每当 EXCEL 启动时会自动将此文件打开并隐藏 因 为它存放在 XLSTART 文件夹内 2 3 12 3 1 保存宏到个人宏工作簿保存宏到个人宏工作簿 本练习 将保存一个简单的宏到个人宏工作簿 该宏为文本加下划线并改为斜体 步骤如 下 1 建立一个名为 HOUR2 的工作簿 选择 工具 宏 录制新宏 显示 录制新宏 对 话框 2 输入 格式化文本 作为宏名 3 从 保存在 下拉框中选择 个人宏工作簿 4 单击 确定 按钮 现在进入录制模式 5 单击 斜体 工具栏按钮 一段时间内 鼠标出现沙漏 特别是在第一次创建个人宏工作 簿时 因为 EXCEL 在创建该工作簿 6 单击 下划线 按钮 7 停止录制 2 3 22 3 2 使用并编辑个人宏工作簿中的宏使用并编辑个人宏工作簿中的宏 刚才已经保存了一个宏到个人宏工作簿 现在可以在任何工作簿中使用该宏 可按如下 步骤操作 1 关闭所有 EXCEL 工作簿 Visual BASIC 程序设计网络教学 橄榄树整理 6 2 任意打开一个 EXCEL 文件 EXCEL 自动将个人宏工作簿同时打开并隐藏 3 在 A3 中输入你的名字 4 选择 工具 宏 显示宏对话框 现在可以在宏列表中看到 格式化文本 这个宏 5 选择 格式化文本 宏 并执行 现在 A3 单元格中 你的名字变为斜体字还带有下划线 选择 窗口 取消隐藏 可以将 PERSONAL XLS 显示出来 其中没有任何文字 但通过 VBA 编 辑器可以在其中的模块中找到 格式化文本 这个宏 在 VBA 编辑器中可以对该宏进行直接编 辑或者删除 如果 PERSONAL XLS 中一个宏都没有 在启动 EXCEL 时仍会打开 PERSONAL XLS 这也许是 EXCEL 存在的一个小毛病 2 4 将宏指定给按钮将宏指定给按钮 即使通过快捷键可以是宏的执行变快 但是一旦宏的数量多了也难于记忆 而且 如果宏 是由其他人来使用 难道你要他们也记住那么多的快捷键吗 作为 EXCEL 开发者 一个主要的目标是为自动化提供一个易于操作的界面 按钮 是最 常见的界面组成元素之一 通过使用 窗体 工具栏 可以为工作簿中的工作表添加按钮 在 创建完一个按钮后 可以为它指定宏 然后你的用户就可以通过单击按钮来执行宏 在本 练习中 将创建一个按钮 并为它指定一个宏 然后用该按钮来执行宏 具体步骤如下 1 打开 HOUR2 工作簿 2 调出 窗体 工具栏 3 单击 窗体 工具栏中的 按钮 控件 此时鼠标变成十字形状 4 在希望放置按钮的位置按下鼠标左键 拖动鼠标画出一个矩形 这个矩形代表了该 按钮的大小 对大小满意后放开鼠标左键 这样一个命令按钮就添加到了工作表中 同时 EXCEL 自动显示 指定宏 对话框 5 从 指定宏 对话框中选择 格式化文本 单击 确定 这样 就把该宏指定给命令 按钮 6 在按钮的标题 按钮 1 前单击鼠标左键 按下 DELETE 直到删除所有文本 输入 格 式化 作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地产保险考试题及答案
- 济南护理事业编考试题库及答案
- 中专护理实操考试题库及答案
- 张家界护理职称考试题库及答案
- 袋鼠科学考试题及答案
- 农牧合作社土地用途监管与使用协议
- 六年级写景作文南京玄武湖800字(7篇)
- 划拨土地买卖协议
- 秋日思念的深情抒情类作文15篇范文
- 技术支持流程标准话流程工具技术响应及时版
- 油气开采技术进步与挑战-洞察分析
- 小学生兴趣英语课件
- 【MOOC】国际金融学-湖南大学 中国大学慕课MOOC答案
- 九年级化学人教版基于特定需求设计和制作简易供氧器(教学设计)
- SCAMPER创新思维模型
- 乡镇庆中秋迎国庆活动方案
- 山东科学技术出版社小学一年级上册综合实践活动教案
- DL∕T 1281-2013 燃煤电厂固体废物贮存处置场污染控制技术规范
- 思念混声合唱简谱
- 家庭健康指导员培训方案及流程
- 机械制图教案(完整版)
评论
0/150
提交评论