基于Excel VBA的教师基本信息管理系统设计

2015-06-29 18:19唐婷
科技资讯 2015年12期

唐婷

摘 要:该文以教师较为熟悉的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.