如何用Excel设计英语单词听写程序 Excel设计英语单词听写程序的方法
更新时间:2025-04-10 04:10:02
1. 朗读单元格按钮设计
朗读单元格不是常用命令,默认情况下在功能区中找不到这个命令。但可以通过自定义功能区设置,让这个命令显示在功能区工具栏上。
选择文件选项菜单,进入选项设置对话框,点击自定义功能区,在右边的主选项卡中单击选择开始选项卡,再点击下面的新建组(N)按钮新建一个自定义组。具体方法如下。
在从下列位置选择命令(C)中选择不在功能区中的命令,找到朗读单元格命令,用鼠标单击选择这个命令,确认上一个步骤在开始选项卡新建的新建组(自定义)处于选择状态,点击添加按钮。这样,朗读单元格命令便在开始选项卡显示出来。同样的道理,将朗读单元格-停止朗读单元格按钮也显示在这个工具栏上。
完成以上两步后,用鼠标选择要朗读的单元格,再点击朗读单元格按钮,系统便从上到下按顺序朗读单元格,无论是中文还是英文,都能进行朗读,朗读效果良好;点击朗读单元格-停止朗读单元格按钮,系统停止朗读。然而,这一功能缺乏对单元格之间间隔进行设置的选项,只能按要求不停地读完所有的单元格。但听写需要时间停顿去写,因此,我们必须通过VBA来解决词与词之间的停顿间隔时间的控制问题。
2. VBA解决停顿间隔控制
要利用Excel VBA进行程序设计,先必须在工具栏中显示开发工具。进入选项设置对话框,单击左边的自定义功能区,在右边窗口中选择开发工具前面的复选框,开发工具便显示在界面上。
点击开发工具选项卡,再点击Visual Basic按钮(或按Alt+F11),进入VBA编辑环境,单击VBAProject (PERSONL.XLSB),再选择菜单插入用户窗体,插入一个用户窗体后,修改其名称为tingxie,Caption(即窗体的标题)属性为听写程序设置。
在这个用户窗体上,分别添加两个文字框控件、两个标签控件、两个命令按钮控件,这些控件的名称都用系统默认的名称。两个标签的Caption属性分别是:单词数量设置和听写词间间隔,这两个标签控件放在两个文字框控件的前面,它的作用是为后面两个文字框的用途作说明;两个文字框的Text属性分别是:20、2,这是这两个文字框控件的初始值,程序利用这两个控件让用户输入单词数量设置和听写词间间隔数值;两个命令控钮的Caption属性分别是:确定、取消。拖动调整好窗体各控件的大小与相对位置至自己感觉合适时为止。
3. 听写程序核心技术实现
听写程序核心技术实现分为三部分进行,具体如下。
(1)赋予命令按钮以灵魂
命令按钮要赋予其可执行代码,才能变成一个活的按钮。
双击确定按钮,在其中输入如下内容:
Private Sub CommandButton1_Click()
n = Val(TextBox1) '获取朗读单词数量
t = Val(TextBox2) '获取朗读词间间隔数量,单位是秒
m = ActiveCell.Row '获取当前活动单元格的行数
c = ActiveCell.Column '获取当前活动单元格的列数
b = m + n - 1 '计算从m开始朗读,共n个单词,达到要求时的最后一行的行数
On Error Resume Next
Call speakcontrol '调用朗读控制过程
tingxie.Hide
End Sub
双击取消按钮,在其中输入如下内容:
Private Sub CommandButton2_Click()
tingxie.Hide
End Sub
(2)创建朗读控制过程
这个朗读控制过程的作用是确定朗读的单元格,控制朗读过程中词间间隔,如果完成了所设置的朗读任务,则退出程序。
用鼠标单击VBAProject (PERSONL.XLSB),再选择菜单插入模块,在这里要完成声明公共变量、创建朗读控制过程以及朗读过程的工作。在其中输入如下内容:
Public a, b, c, m, n, t As Integer '定义公用变量
Sub speakcontrol()
Dim p, q
q = ActiveSheet.Cells(1, 1).SpecialCells(xlLastCell).Row '获取工作表的最后一行
On Error Resume Next
If t 10 Then
p = 00:00:0 t '时间在10秒以内时,计算p的方法
Else
p = 00:00: t '时间在10秒或以上时,计算p的方法
End If
If m b Or m q Then '如果朗读单词达到设置数量的要求或到了最后一行,则退出程序
Exit Sub
Else
a = Cells(m, c) '获取要朗读的单元格的文字
Application.OnTime Now + TimeValue(p), wordspeak '按照设定的时间间隔调用朗读过程
End If
End Sub
小提示:
这里还补充说明时间间隔p的计算问题。由于时间间隔t在60秒以内的这个范围内可能是1位数,也可能是2位数,这时p计算方法不一样,因此,我们要对t的位数作判断后再选择计算p合适的方法。
(3)实施具体朗读任务
以上的朗读的控制过程并没有具体实施朗读的工作,朗读的工作由朗读过程完成任务。在以上朗读控制过程的下方,创建一个为wordspeak的朗读过程,内容如下:
Sub wordspeak()
On Error Resume Next
Application.Speech.Speak a '朗读设定单元格中的文字
m = m + 1 '计算朗读的单元格的行数
Call speakcontrol '调用朗读控制过程
End Sub
这个过程具有朗读的功能,并将朗读单元格的行数加1,下移到下一行单元格中,最后返回朗读控制过程,由控制过程确定是否再往下继续朗读单词。
(4)创建启动宏的过程
虽然以上已经有窗体以及相关的控制与朗读的过程,但还缺少一个启动宏的过程。在以上过程的下方创建一个新的过程,命名为听写,内容如下:
Sub 听写()
tingxie.Show '显示听写设置窗口
End Sub
小提示:
要运行宏,必须先通过开发工具选项卡,点击宏安全性按钮,进入到宏设置中选择启用所有宏(最下面的选项)。
在Excel 2016中调试无误后,即可运行程序。先在要朗读的单词列的最上方单元格单击,点击开发工具选项卡中的宏按钮,在弹出的宏选择对话框中,选择听写宏,再点击运行按钮,在弹出听写程序设置对话框中输入单词数量设置、听写词间间隔,确定后便可进行英语听写训练了。
标签: 如何 excel 设计 英语 单词 听写 程序 方法

与 如何用Excel设计英语单词听写程序 Excel设计英语单词听写程序的方法 相关文章
下一篇: 如何用PS快速制作一个闪电效果图