唐婷
摘 要:该文以教师较为熟悉的excel环境为背景,利用VBA进行二次开发,设计了一个基于Excel VBA的教师基本信息管理系统,将教师信息进行统一规范的录入,改善重复性操作转换为自动化实现,大大提高了工作效率,方便管理人员修改、查询、填表、提交信息等一系列人事管理工作。
关键词:excel vba 教师基本信息管理系统
中图分类号:TP317.7 文献标识码:A 文章编号:1672-3791(2015)04(c)-0030-02
在学院的系部管理中,有重要的一项管理就是教师师资力量的管理,一个队伍的师资力量体现了教学的水平和实力,系部应对该系所有教师的基本信息进行统一管理并存档。教师的基本信息繁多复杂,并且随时需要添加新信息,在工作中经常需要填写各种表格提交给上级单位,进行教学评估、职称评定、争优选取等教学活动。有时还需要对教师的基本信息进行查询和统计,比如说统计教职工人数、性别、年龄、学历、职称分布的情况等数据信息,以便给各种教研报告提供有效的数据。为方便系部统一有效的管理教师信息,利用Excel VBA的控件功能和编程技巧,将数据有效存入Excel表格中,为查询、统计、生成可用表单提供基础的数据,从而建立教师基本信息管理系统,提高管理工作效率。
教师基本信息管理系统适用于系部对教师信息的收集与管理,按照传统的方式是在每一次需要提交教师基本信息时,由教师自己填表提交给系部,再由系部核实校正,制作成规范格式的表格送交到学院。为改变传统模式,提高工作效能,建立有效的管理系统对教师信息进行统一管理,全面掌握教师基本情况,在需要提供教师的各种基本信息时,可通过管理系统查询并制成规范格式的表格进行提交,避免每一次由教师填表时出现信息不统一或错误填写的后果,减少管理人员的工作量和教师填表的重复劳动,提高正确率和工作效率,实现现代化的科学管理。
1 VBA简介及设计
Vba,是visual basic FOR APPLICATION的缩写,是OFFICE办公软件内嵌的编程语言。Vba采用visual basic的语言和面向对象技术,实现用户定制化的技术,通过编程控制这些功能强大的软件,从而发挥更强大的功能。Vba语言结构简单,便于学习和设计出有效的功能系统。
1.1 功能设计
系统主要功能设计实现了四个大方面的功能:教师基本信息的录入、教师信息查询、教师信息统计和教师基本信息提交表与打印。
教师基本信息的录入主要实现按编号进行教师信息的录入过程,如果在录入完成后发现信息出现错误,可通过修改功能进行修改信息并再次保存信息。“教师基本信息情况”表结构中的字段名称如下:
编号、姓名、性别、民族、政治面貌、身份证号码、出生年月、籍贯、工作单位、参加工作时间、身体状况、党政职务、最后学历、毕业时间及毕业院校和专业、学位、何时任现专业技术职务(职称)、基础工资(元)、懂何种外语及熟练程度、主要简历、主要专业技术工作成绩、撰写论文情况学习、进修情况、受奖情况、科研项目。
教师信息查询功能主要实现按教师姓名进行查询,查询到的内容以一条记录按行显示,可查询多条教师记录,查询表结构中的字段名称与教师基本信息情况表中的字段名称一样。查询结束后可清楚查询内容,便于下一次的查询。
教师信息统计功能主要实现按性别、年龄、学历、工资等统计条件进行单项统计,或者根据多项条件进行综合统计教师的人数并显示姓名等功能。性别字段分为男、女;年龄字段分为20至30岁、31至40岁、41至50岁、50岁以上;学历字段分为大专、本科、硕士、博士;工资字段分为2000以下、2000到3000之间、3000到4000之间、4000以上;职称字段分为助教、讲师、副教授、教授。
教师基本信息提交表与打印功能主要实现按所选字段或特定表格填写教师信息,生成excel表格或转换为word表格,便于提交给上级部门以及打印出来生成教师资料。信息提交表中的字段与教师基本信息情况表中的字段名称一样,在实际操作中可以选择字段项。
1.2 界面设计以及关键代码
关键代码:
Sub getonerecord()
Dim msgboxrst As VbMsgBoxResult
Dim count As Integer
count = 0
Range("A3").Select
Do Until Selection.Offset(count, 1).Value = ""
If UserForm1.TextBox1.Text = Selection.Offset(count, 1).Value Then
msgboxrst = MsgBox("教师姓名重复!", vbOKOnly & vbInformation, "提示")
Exit Sub
End If
count = count + 1
Loop
lie1 = 0
With UserForm1
lie2 = .TextBox1.Text
lie3 = .ComboBox1.Text
lie4 = .TextBox3.Text
lie5 = .TextBox4.Text
lie6 = .TextBox17.Text
lie7 = .TextBox20.Text
lie8 = .TextBox2.Text
lie9 = .TextBox5.Text
lie10 = .TextBox18.Text
lie11 = .TextBox19.Text
lie12 = .TextBox6.Text
lie13 = .TextBox7.Text
lie14 = .TextBox8.Text
lie15 = .TextBox9.Text
lie16 = .TextBox10.Text
lie17 = .TextBox11.Text
lie18 = .TextBox12.Text
lie19 = .TextBox13.Text
lie20 = .TextBox14.Text
lie21 = .TextBox15.Text
lie22 = .TextBox16.Text
lie23 = .TextBox21.Text
End With
count = 0
Range("A3").Select
Do Until Selection.Offset(count, 0).Value = ""
count = count + 1
Loop
Selection.Offset(count, 0).Value = count + 1
Selection.Offset(count, 1).Value = lie2
Selection.Offset(count, 2).Value = lie3
Selection.Offset(count, 3).Value = lie4
Selection.Offset(count, 4).Value = lie5
Selection.Offset(count, 5).Value = lie6
Selection.Offset(count, 6).Value = lie7
Selection.Offset(count, 7).Value = lie8
Selection.Offset(count, 8).Value = lie9
Selection.Offset(count, 9).Value = lie10
Selection.Offset(count, 10).Value = lie11
Selection.Offset(count, 11).Value = lie12
Selection.Offset(count, 12).Value = lie13
Selection.Offset(count, 13).Value = lie14
Selection.Offset(count, 14).Value = lie15
Selection.Offset(count, 15).Value = lie16
Selection.Offset(count, 16).Value = lie17
Selection.Offset(count, 17).Value = lie18
Selection.Offset(count, 18).Value = lie19
Selection.Offset(count, 19).Value = lie20
Selection.Offset(count, 20).Value = lie21
Selection.Offset(count, 21).Value = lie22
Selection.Offset(count, 22).Value = lie23
Selection.Offset(count, 23).Value = lie24
Call initemvar
Call qingkong
End Sub
Sub uploadpic()
Dim mypath As String
With UserForm3
mypath = .TextBox1.Text
lie24 = .TextBox1.Text
End With
Dim w As Integer
Dim h As Integer
w = 0
h = 0
With UserForm1
w = .Image1.Width
h = .Image1.Height
.Image1.Visible = False
.Image1.Picture = LoadPicture(mypath)
.Image1.AutoSize = True
.Image1.Width = w
.Image1.Height = h
.Image1.Visible = True
End With
End Sub
2 结语
Office是一个非常强大的办公系统,为我们的办公自动化带来了很大的便利,但是即使你熟悉的掌握了所有的操作技能也只是掌握了office的90%的功能,剩余的10% 的功能就是靠VBA的实现,并把前面的90%的功能进行无限扩展可能。该系统就是利用VBA对现有office进行功能扩展,保留了office的操作习惯,能使熟悉office操作的人员最短时间掌握和使用。
参考文献
[1] 刘增杰,王英英.excel 2010 vba入门与实战[M].北京:清华大学出版社,2012.
[2] 王川,软兴平,于平创,等.中文版Office2000 VBA一册通[M].北京:人民邮电出版社,2000:92-160.
[3] 云舟工作室.中文版Word2000 VBA一册通[M].北京:人民邮电出版社,2000:110-180.
[4] 李文江.VBA在powerpoint课件中的应用[J].重庆文理学院学报:自然科学版,2006,5(1):27-29.
[5] Jelen B,Syrstad T著.郭兵英译.EXCEL 2007 VBA与宏完全剖析[M].北京:人民邮电出版社,2008.
[6] 格林著.Execel Home译.Excel2007参考大全[M].北京:人民邮电出版社,2009.