基于Excel VBA的学生个人信息表系统开发

2018-06-07 09:36陈辰星
科教导刊 2018年2期
关键词:精准化学生工作

陈辰星

摘 要 高校学生工作管理水平关系到学生培养质量的高低,通过技术手段可有效提高工作效率。针对高校学生工作管理过程中信息来源众多且没有有效整合的现状,设计学生信息汇总和个人信息表模板,并通过Excel VBA编程技术,开发学生个人信息表系统,方便高校辅导员获取学生个人信息表,实现学生工作的精准化管理。

关键词 学生工作 信息汇总 Excel VBA 个人信息表 精准化

0 引言

学生工作管理是高校工作中的重要环节,辅导员作为第一线接触学生的高校工作人员,在学生立德树人的培养过程中发挥着重要作用。在日常工作中,辅导员面对数量众多的学生,有学生个人基本信息、奖惩助贷等事务信息以及重点关注情况等多方面信息源,但这些信息大多没有整合,分头查询会影响工作效率。

在传统学生管理工作中,辅导员利用Excel进行信息整理工作,往往把两者孤立起来,而忽略了其内在联系。[1]本文针对上述情况,在工作人员熟悉的Office软件中,利用VBA编程进行二次开发,将繁琐的重复性工作转为自动化实现,以其快速、简便、准确的效果来提高学生工作的效率,实现学生的精准化管理。

1 开发工具介绍

VBA(Visual Basic For Application)是微软在其桌面应用程序中执行自动化任务而开发出来的新一代标准宏语言,[2]主要用来扩展Windows的应用,它可以实现包括自动化完成重复的任务,自定义Excel界面、创建报表、复杂数据处理和分析等。能与Word、Access等软件完美融合,进行拓展应用的程序和交互开发。

2 系统设计与开发

2.1 需求功能分析

本系统主要使用对象是高校辅导员或其他相关工作人员,需要实现信息汇总查询功能、个人信息表生成和学生照片导入等功能。根据需求,个人信息表系各模块如图1所示。

2.2 信息汇总表模板设计

本系统所有信息查询、信息表生成和照片导入等操作依靠Excel电子表格完成,相当于把该电子表当作一个数据库,因此本系统利用Excel设计信息汇总表模板,供用户进行后续各项操作。为全面反映学生在校期间的情况,具体的工作表和列字段如表1。

2.3 个人信息表模板设计

本系统要用到Excel和Word的交互编程,为方便使用者在实际使用过程中,能单独建立每个人的信息档案,需要将汇总表的个人汇总信息分发到每张个人信息表中。个人信息表模板由Word制作,根據表1的内容进行设计,并命名为学生个人信息表(模板).doc,信息表模板存放在系统同一路径。

2.4 个人照片库设计

在系统存储路径下建立学生照片库文件夹,统一以学生学号进行编号存储,系统将根据学号自动识别、匹配并导入。

2.5 系统开发

系统开发过程主要完成系统初始化、Word交互、数据分发、照片导入及标准化操作和程序错误管理几方面主要工作,开发过程及部分代码如下。

(1)系统初始化。系统需要根据实际的汇总信息,判断需要生成信息表的数量,同时完成相关操作的变量设置,对所有数据进行标准化处理,统一格式,防止在操作过程中因为数据的格式不统一而影响系统工作。其主要代码如下所示:

Dim Word对象 As New Word.Application

‘设置Word对象,进行交互编程

Dim 当前路径,导出文件名,导出路径文件名,图片文件

Dim Str1, Str2, Str3

‘定义及初始化相关变量

……

Sheets1.Range("A3:A"&最后行号).NumberFormatLocal = "G/通用格式"

‘统一数据格式,保证系统正常工作

(2)Word交互编程。系统要将Excel汇总表的信息分发到每张个人信息表中,需要打开Word应用,并将操作过程隐藏在后台完成,其实现过程如下:

FileCopy 当前路径 & "\学生个人信息表(模板).doc", 当前路径 & "\" & 导出文件名 & "(" & Sheets("基本信息").Range("C" & i) & Sheets("基本信息").Range("B" & i) & ").doc"

导出路径文件名 = 当前路径 & "\" & 导出文件名 & "(" & Sheets("基本信息").Range("C" & i) & Sheets("基本信息").Range("B" & i) & ").doc"

‘通过模板生成个人信息表

With Word对象

Y孌ocuments.Open 导出路径文件名

Y孷isible = False

‘打开Word应用,并使其实现过程隐藏不可见

(3)数据分发操作。将信息汇总表的信息分别填充到个人信息表中的每个空格中,主要利用循环等语句,实现批量操作,提升工作效率。其部分代码如下:

For j = 1 To 6

Y孉ctiveDocument.Tables(1).Cell(j + 1, 2).Range = Sheets("基本信息").Cells(i, 2 * j - 1)

Y孉ctiveDocument.Tables(1).Cell(j + 1, 4).Range = Sheets("基本信息").Cells(i, 2 * j)

Next j

‘通过循环操作填写表格数据

(4)照片导入操作。在个人信息表照片所在单元格设置操作位点,进行照片导入时,系统先将光标定位到相关位点,再读取照片信息。判断是否能查询到照片,如果能则进行下一步导入及标准化操作;如果查询失败,则跳过照片导入,以防止程序报错影响系统工作。

Y孲election.HomeKey unit:=wdStory

‘将系统光标移动到指定位点

图片文件 = Dir(当前路径 & "\pic" & "\" & Sheets("基本信息").Range("B" & i) & "*" & ".*")

‘查询符合条件的照片文件

If .Selection.Find.Execute(Str3) Then

If 图片文件 <> "" Then

Set mypic = .Selection.InlineShapes.AddPicture(Filename:=当前路径 & "\pic" & "\" & 图片文件)

‘如果查询到照片,则将照片插入到word表中指定位点

mypic.Width = 72

mypic.Height = 108

End If

End If

‘对图片大小进行标准化操作,结束照片导入过程

(5)系统错误管理。系统在工作过程中有时会出现系统报错,为保護系统,设置系统人机交互界面,提醒用户系统工作是否正常。

If 判断 = 0 Then

i = MsgBox("已输出到 Word 文件!", 0 + 48 + 256 + 0, "提示:")

End If

Exit Sub

errorline:

MsgBox ("程序出错,请检查!")

Set Word对象 = Nothing

3 展望和拓展

将VBA程序融入学生管理工作的Excel电子表格中,有效地提升了学生管理工作的效率并增加了系统自动化执行的能力。系统具有较好的可扩展性,同时分发生成每位同学的信息表,有利于辅导员掌握每位学生的具体情况,进行信息化的精准教育,将一人一档落到实处,其中包括学生日常行为信息、学业数据、奖勤助补贷等情况,及时更新,便于分析研究,制定对策。[3]

目前系统仍存在包括数据安全、数据冗余等问题,在今后工作中可以对系统设置系统保护以加强安全性,精简冗余代码以提高系统执行效率。

参考文献

[1] 颜杰群,林丽蓉.基于Excel VBA的高校学生管理系统开发[J].宁波教育学院学报,2015.17(4):83-87.

[2] 张永成,王洪辉,谭桂花.基于Excel VBA的图解粒度参数计算[J].成都理工大学学报(自然科学版),2010(6):650-653.

[3] 魏飞,王平,韩菡等.个性培养视角下高校学生精准化管理模式探析[J].学理论,2017(1).

猜你喜欢
精准化学生工作
构建大学生精准就业服务体系思考
高校学生资助工作的精准化研究
如何做好职业学校学生的实习管理
我国公租房政策的福利分配和福利输送分析
我国公租房政策的福利分配和福利输送分析
浅析新媒体推广对高校学生工作的影响
新形势下的高校大学生心理教育和咨询问题研究
高校学生工作老师处理学生事务数据的小技巧