一、实现功能
点击“报名了”按钮,Excel VBA调用语音阅读功能,依次播出3个子表的名字:“总表,打印表,户籍表”。
![3dd09f199dca9114d478e924934c84fa.png](https://img-blog.csdnimg.cn/img_convert/3dd09f199dca9114d478e924934c84fa.png)
二、如何生成一个可以运行宏的 Excel 文件
本期是第一期教程,我们先从如何生成一个可以运行宏的 Excel 文件说起。
其实很简单,我们新建一个Excel文件,然后直接把后缀改为 xlsm 就可以了,另外,也可以打开 Excel 文件,选择另存为 xlsm 格式。
接着,我们打开这个 xlsm 文件,来到 开发工具 这个菜单,点击 VB编辑器。
![d52076c08500b3b2457fb5ae7122e07d.png](https://img-blog.csdnimg.cn/img_convert/d52076c08500b3b2457fb5ae7122e07d.png)
现在这个视图,是 WPS 默认的视图窗口,右边是代码窗口,左边是已经打开的 Excel 表格的列表,Project 后面的就是文件名。
我们刚才新建的工作表,可以看到跟上面比,少了 模块 这个文件夹。我们一把习惯把代码保存在 模块 里面,要新建一个 模块,只需要在属于这个新建工作表的树结构的范围内,点右键,插入,模块,就生成这个文件夹了。其实,代码直接保存在上面这些 WPS表格 对象 里面也是可以的,但太零散。
三、第一次接触的 VBA 代码
![e31ce17a2135775cbc3800e29d034123.png](https://img-blog.csdnimg.cn/img_convert/e31ce17a2135775cbc3800e29d034123.png)
下面罗列出本期范例接触到的新知识点:
1. 关键字
蓝色的这些,是 VBA 的关键字。除了关键字,还有 对象、方法、属性、事件 这些概念。初学者,以及普通使用者,其实不必要过于纠结这些基本概念,太过于枯燥,建议从一个个实例入手,把实例的用法弄清楚,慢慢地,对这些基本概念,会有概念的。
2. Sub
End Sub
就是子过程,以Sub开头,End Sub结尾。宏就是通过调用 Sub,实现各种各样奇葩的功能。
3. Dim () As ()
变量声明。
Variant一种特殊的数据类型,可以包含数值、字符串或日期数据,还包含自定义类型和特殊数值 Empty 和 Null,Variant还可以是个 Object,也就是对象。
我们只需要知道一点:对所有变量,如果没有显式声明它们是其它数据类型,则 VBA 会默认定义它们为 Variant 数据类型。也即是说,Dim s As Variant 这句,我们其实可以不用写。
4. For Each () In ()
Next
一种特殊的For语句,针对一个数组或集合中的每个元素,重复执行一组语句。
注意:For Each (变量) In (Group),这个变量只能是 Variant 类型的。目前这句看不懂没关系,只需要持续关注我的频道,到了后面,慢慢地就领悟了!
5. Worksheets
- 就是 Excel 的每个子表。对子表的引用,可以按索引编号,比如:Worksheets(1),编号按从左到右计数,如果移动、添加或删除工作表,则编号顺序将会更改。
- 也可以按名称引用工作表引用,比如Worksheets("总表")。
- 还可以用 Array 函数引用两张或多张工作表:Sheets(Array("Sheet2