用VBA实现课堂语音点名

更新时间:2023-12-25 作者:用户投稿原创标记本站原创 点赞:27790 浏览:130582

具体实现方法思路:制作一个点名页面,安排三个操作按钮,分别是“点名”、“缺”、“到”,并分别给这三个按钮赋予相应的VBA程序代码,完成相应的控制或记录任务.当开始点名时,老师点击“点名”按钮,让电脑按学生花名册信息自动语音点名,如果学生已到课,点击“到”按钮记录,如果学生缺课,点击“缺”记录.

首先要说明的是,Excel中的“文本到语音”功能不是默认安装的.打开“工具”菜单,选择“语音”项子菜单中的“显示文本到语音工具栏”命令,Excel会自动进行安装.安装好后,可以弹出“文本到语音”浮动工具栏.

以Excel 2003为例,具体实现步骤如下:

1.在工作表Sheet2中输入学生的点名册信息(图1).

2.适当设置工作表Sheet1中单元格的格式,并在其上添加三个命令按钮,标题分别为“开始”、“缺”和“到”(图2).

3.为三个命令按钮“开始”、“缺”和“到”编写单击事件过程,输入具体的VBA代码:

PrivateSubCommandButton1_Click()

'开始

With Sheet2

Cells(12,1)等于.UsedRange.Columns.Count+1

Cells(13,1)等于.UsedRange.Rows.Count-1

'记录点名人数

IfCells(13,1)>0 Then

.Cells(1,Cells(12,1))等于Date

'记录点名日期

.Cells(1,Cells(12,1)).ColumnWidth等于10

CommandButton2.Enabled等于True

CommandButton3.Enabled等于True

CommandButton3.Activate

Cells(5,3)等于.Cells(Cells(13,1)+1,1)

'显示学号

Cells(8,3)等于.Cells(Cells(13,1)+1,2)

'显示姓名

Application.Speech.SpeakCells(8,3)

'语音朗读姓名

CommandButton3.Activate

EndIf

EndWith

EndSub

PrivateSubCommandButton2_Click()


'缺

IfCommandButton2.EnabledThen

With Sheet2

.Cells(Cells(13,1)+1,Cells(12,1))等于"缺"

Cells(13,1)等于Cells(13,1)-1

'点名人数递减

IfCells(13,1)等于0 Then

MsgBox"点名完毕!"

Cells(5,3)等于"点名请单击"

Cells(8,3)等于"开始按钮"

CommandButton1.Activate

CommandButton2.Enabled等于False

CommandButton3.Enabled等于False

Else

Cells(5,3)等于.Cells(Cells(13,1)+1,1)

'显示下一个的学生

Cells(8,3)等于.Cells(Cells(13,1)+1,2)

Application.Speech.SpeakCells(8,3)

'语音朗读姓名

CommandButton3.Activate

EndIf

EndWith

EndIf

EndSub

PrivateSubCommandButton3_Click()

'到

IfCommandButton3.EnabledThen

With Sheet2

.Cells(Cells(13,1)+1,Cells(12,1))等于""

Cells(13,1)等于Cells(13,1)-1

'点名人数递减

IfCells(13,1)等于0 Then

MsgBox"点名完毕!"

Cells(5,3)等于"点名请单击"

Cells(8,3)等于"开始按钮"

CommandButton1.Activate

CommandButton2.Enabled等于False

CommandButton3.Enabled等于False

Else

Cells(5,3)等于.Cells(Cells(13,1)+1,1)

'显示下一个的学生

Cells(8,3)等于.Cells(Cells(13,1)+1,2)

Application.Speech.SpeakCells(8,3)

'语音朗读姓名

EndIf

EndWith

EndIf

EndSub

点名开始前,“开始”命令按钮是可用的,而“缺”和“到”命令按钮都是不可用的.单击“开始”命令按钮后,把“缺”和“到”命令按钮设置为可用,而学生的学号和姓名会逐一显示在Sheet1中.根据学生的出勤情况分别单击“缺”或“到”命令按钮,把出勤情况记录在Sheet2中.在此过程中,Sheet1中显示的点名人数会逐渐递减,直至最后为0,表示点名完毕.