分享

零基础学Excel VBA-WE001 【Excel有语音功能?】(图文版)

 gaolidabangzi 2019-04-28

一、实现功能

零基础学Excel VBA-WE001 【Excel有语音功能?】(图文版)

二、如何生成一个可以运行宏的 Excel 文件

本期是第一期教程,我们先从如何生成一个可以运行宏的 Excel 文件说起。

其实很简单,我们新建一个Excel文件,然后直接把后缀改为 xlsm 就可以了,另外,也可以打开 Excel 文件,选择另存为 xlsm 格式。

接着,我们打开这个 xlsm 文件,来到 开发工具 这个菜单,点击 VB编辑器。

零基础学Excel VBA-WE001 【Excel有语音功能?】(图文版)

现在这个视图,是 WPS 默认的视图窗口,右边是代码窗口,左边是已经打开的 Excel 表格的列表,Project 后面的就是文件名。

我们刚才新建的工作表,可以看到跟上面比,少了 模块 这个文件夹。我们一把习惯把代码保存在 模块 里面,要新建一个 模块,只需要在属于这个新建工作表的树结构的范围内,点右键,插入,模块,就生成这个文件夹了。其实,代码直接保存在上面这些 WPS表格 对象 里面也是可以的,但太零散。

三、第一次接触的 VBA 代码

零基础学Excel VBA-WE001 【Excel有语音功能?】(图文版)

下面罗列出本期范例接触到的新知识点:

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', 'Sheet3', 'Sheet5'))。我们后面涉及到具体的例子,还会展开来说明。

6. Name

获取名字。这里 s.Name,s 是每个子表,所以就是 Worksheets(1).Name,Worksheets(2).Name,……

7. Application.Speech.Speak

Application 是个非常深奥的对象,刚接触VBA不急着深究。

Speech 也是个对象,而 Speak 是 Speech 的一种方法。

从 5 和 6,我们可以大概可以知道 VBA 关于对象、属性、方法的引用关系,都是通过“.”进行逐层连接起来的。

这个命令的功能就是播放语音,语音的内容就是后面的 s.Name。

注:Speak用到Text to Speach(TTS)的功能,这个属于系统的组件,需要Windows已经安装这个组件。

四、VBA 代码是怎么跟按钮关联上的

我们在按钮这里点右键-指定宏,弹出的窗口这里,我们看“!”后面这里,就是我们定义的子过程的名字,选上,点确定,就完成了关联。

零基础学Excel VBA-WE001 【Excel有语音功能?】(图文版)

至于按钮,在 插入 菜单,形状 这里,创建一个喜欢的图形,也可以在这个菜单下面,后面这里——按钮。

零基础学Excel VBA-WE001 【Excel有语音功能?】(图文版)

五、本期宏完整展示

Sub firstblood()

Dim s As Variant

For Each s In Worksheets

Application.Speech.Speak s.Name

Next

End Sub

六、后话

关注我的频道,方便找到对应的 视频版链接以及更新内容。

零基础学Excel VBA-WE001 【Excel有语音功能?】(图文版)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多