基于VBA的Word学生成绩总表自动填写研究

时间:2022-08-05 02:12:29

基于VBA的Word学生成绩总表自动填写研究

摘要:本文实现了在word中使用VBA自动填写学生成绩总表,从而提高高校教学管理的工作效率。

关键词:数据结构 算法 游戏

中图分类号:TP301.6 文献标识码:A 文章编号:1007-9416(2013)10-0110-01

1 前言

随着微软的Office系列软件的普及,作为日常办公系统的主要助手,World、Excel以其方便、简洁的特点,以及文档的编辑、电子表格处理功能,受到了许多用户的青昧,成为众多企事业、个人存储数据的主要工具。对于许多单位而言,很多日常所需的业务数据通常都是通过Word或Excel中的表格进行存取,有一些表格拥有独立的数据,而有些表格却与其它的表格有重叠的部分,按现在的工作模式,大多数情况下填报数据的工作十分繁琐,耗费时间,而实际上许多时间都浪费在单调的复制、粘贴、拖拽之上。如此往复,势必会降低工作人员的效率。

目前,我校在教务管理、科研管理工作中,存在着大量的简单的、繁琐的、重复性的工作。例如,在教务管理中每个学期都需要教学秘书填写培养方案学期执行表及教师任课情况呈报,这两个表格在表格字段上基本上是相同的,只是各字段的位置及学时的描述上有所不同,每次填表时只要复制、粘贴并稍做修改既可完成。如果这样的表格能够采取自动填充的方法来实现,会大大的提高工作效率。

成绩管理是教务管理的一个重要内容,学生毕业时都要对他们的成绩进行统计。要求(1)能够按学期录入并从已有的成绩单中读取学生所学课程的课程名、学时、学分、成绩等信息(含公选课)。(2)能够自动计算学生的总学分与总学时并输出到指定位置的word文档中,如图1所示。

2 VBA简介

VBA作为一种新一代的标准宏语言,具有跨越多种OF- FICE应用软件并且控制应用软件对象的能力,它可以可以使Office任务自动化,满足用户需要,同时增强了Office与用户的交互并集成Office的功能。

3 公选课录入模块的设计与实现

每门公选课所涉及的学生人数较少,经过分析比对后,决定对于公选课单独设置录入模块。它的功能如下是选择相应的学期,相应的班极,录入课程名及学生学号后,将学生成绩自动填充到学生成绩总表的相应位置上。在word里设计界面如图2所示。

打开WORD文档,在菜单“工具|宏”,中选择“Visual Basic编辑器”,在工程(Project)中选插入用户窗体,设置如图2所示界面,其中包括如表1控件:

公选课成绩录入界面关键代码如下:

Dim s As String, n As Integer

Dim x() As String

If UserForm2.class1.Value = True Then

s=UserForm2.class1.Caption

n=28

End If

Call initarray(x(), n, s)

Windows(Left(x(CInt(UserForm2.TextBox2.Text)), 9)).Activate

If UserForm2.OptionButton6.Value = True Then x1 = 3: y1 = 11

……

If UserForm2.OptionButton1.Value = True Then score = "优" ‘ 良、中、及略

End If

Active Document.Tables(1).Cell(x1, y1).Range.InsertAfter Chr(13) + Chr(10) + UserForm2.TextBox1.Text

ActiveDocument.Tables(1).Cell(x1, y1 + 1).Range.InsertAfter Chr(13) + Chr(10) + "考查"

ActiveDocument.Tables(1).Cell(x1, y1 + 3).Range.InsertAfter Chr(13) + Chr(10) + "32"

End Sub

最后,运行公选课模块即可。

4 结语

在Word软件上应用VBA,对学生成绩总表进行自动填写,提高教务管理的效率,减少教学秘书的工作量。

上一篇:Android系统的分析与研究 下一篇:环境特性电网负荷灰色预测及其在Excel中的实现