课堂点名设计报告
学院土木工程学院班级测绘C111 学号117543 姓名陈军伟成绩
一、设计思路
1.要达到的目的
①点击“开始”后,开始显示学生信息。
程序实现从Excel工作表中读取学生信息,显示在窗体控件上。
(“开始”按钮变为无效状态,防止反复点击创建多个Excel对象。
)
②按下空格键表示出勤、其他键表示缺勤,并用Y/N表示出勤/缺勤,记录到Excel工作表里。
③点击缺勤时,会显示出缺勤人的学号和姓名。
点击出寝室时不会出现数据显示。
④回车键使点名过程暂停/继续。
⑤点击退出,退出点名程序。
2.关键问题的解决
①两个事件过程之间的通信。
②在显示过程中要启动延时,延时需要Timer配合。
③在两个事件过程之间通过一个全局的Boolean变量TimeOu他通信
④解决对excel对象的应用
二、模块之间的调用关系,或程序流程图(无)
三、部分程序关键源代码及注释
①Dim xlapp As New Excel.Application
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet '声明excel对象
Dim reach As Boolean, r As Integer 'reach是否出勤
②Set xlapp = CreateObject("Excel.Application") '创建Excel对象
Set xlbook = xlapp.Workbooks.Open(App.Path & "\VB名单.xls") '打开名单工作薄
xlapp.Visible = False '设置EXCEL对象不可见
③Private Sub Command2_Click() '退出
Timer1.Enabled = False
xlbook.Close (True) '关闭工作簿
Excel.Application.Quit '结束EXCEL对象
End
End Sub
④Private Sub Form_Initialize()
Set xlapp = CreateObject("Excel.Application") '创建Excel对象
Set xlbook = xlapp.Workbooks.Open(App.Path & "\VB名单.xls") '打开名单工作薄xlapp.Visible = False '设置EXCEL对象不可见
Set xlsheet = xlbook.Worksheets("Sheet1") '设置活动工作薄
End Sub
⑤Private Sub Option1_Click(Index As Integer)
Print Label3
Print Text1
End Sub
⑥Private Sub Timer1_Timer()
With xlsheet
Label2.Caption = .Range("C" & r).Value
Label3.Caption = .Range("A" & r).Value
Text1.Text = .Range("B" & r).Value
If reach Then
.Range("D" & r).Value = "Y"
Else
.Range("D" & r).Value = "N"
End If
End With
End Sub
四、设计方案的完善及目前存在的问题
1.设计方案要完善的地方
①待完善增加缺勤人数总和的统计和缺勤人数占总人数的比例。
②界面比较粗糙,界面外观有待改善。
2. 目前存在的问题
①退出时提示是否保存excel表格问题;
②其它未知错误暂未发现。
五、本次设计的收获及心得体会
对vb又有了更深的了解,学到了更深层面的知识。
六、对该题目和VB设计的意见和建议
1. 对该题目的意见和建议
建议适当增加设计的趣味性,增加语音点名。
2.对本次设计的意见和建议
该次设计旨在提高培养学生综合利用VB语言进行程序设计,解决实际问题的能力。
有利于学生的发展与进步。