基于VC++和VBA的Excel操作评分系统的研究与实现

2021-07-19 21:25李玉艳
电脑知识与技术 2021年14期

李玉艳

摘要:大学计算机基础是高职院校的一门公共必修基础课程。计算机一级考试是教育部门作为学生是否具备基本的计算机办公技能的衡量标准,而Excel上机操作便是该考试中的重点操作考核内容。为提升学生对Excel电子表格的操作能力和计算机等级一级考试的过关率,该文设计了一套基于VC++和VBA技术的Excel操作评分系统。该系统通过VC++实现人机对话,利用OLE技术实现Excel程序的调用,再利用VBA技术对Excel的各种对象属性进行了分析和成绩计算。该系统可以为同类高职院校的计算机教师提供开发参考。

关键词:VC++;VBA;Excel;系统设计;操作评分

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2021)14-0058-02

Abstract: Basic Computer of College is a public compulsory basic course in higher vocational colleges. Computer Rank Examination Grade One is a standard to measure whether students have basic computer office skills for most colleges,in which,Excel operation is the important examination content.In order to improve students' operation ability to operate Excel spreadsheets and pass rate of Computer Rank Examination Grade One,this paper designs an Excel Operation Scoring System based on VC++ and VBA technology. The system realizes man-machine interaction through VC++,uses OLE technology to call Excel program, and analyzes various object attributes of Excel and calculates scores by VBA technology. After the practical application in the authors college,it shows that the system can improve students' Excel spreadsheets operation ability and pass rate of Computer Rank Examination Grade One.

Key words:VC++; VBA; Excel; system design; operation score

1 引言

隨着用人单位对高素质技术技能人才的信息素养要求越来越高,职业教育对学生的计算机操作能力要求也不断提高,大部分高职院校都采取计算机一级考试来评测和提高学生计算机操作能力。计算机等级考试一级B类的题目类型包括理论试题和上机操作题,理论试题占总成绩的60%,操作试题占总成绩的40%,其中Word操作和Excel操作是上机考核中的重难点。

随着“互联网+教育”的发展,尤其因2019年12月新型冠状病毒肺炎疫情的爆发,为了防止疫情向学校蔓延,全国高校都采取了延期开学,多采取线上教学的方式实现“停课不停学”的目的。但目前国内的很多线上教学平台的主要功能是教学,部分平台具备理论测评的功能,几乎没有上机操作测评功能。在笔者所在院校,依靠现有的线上教学平台,学生仅能对计算机应用基础这门课程的理论知识进行学习和自我评测,而无法利用上机操作测评的平台或系统软件训练和检测自身的上机操作能力。尤其是我校实施线上教学期间,我校学生的计算机实际操作能力提升受阻较为明显。

其次,虽然目前部分高职院校在用的等级考试模拟软件可以实现上机练习操作,但该模拟软件存在以下三方面的问题:一是模拟软件的题库过老,题目数量和题型较少,无法检测学生对上机操作的真实掌握情况;二是学生提交试卷后,系统虽然给出了评分,但学生无法知晓上机操作中具体哪部分丢分,无法评估自身对模块知识点的具体掌握情况并予以纠正;三是学生在模拟软件中做完提交后,教师无法获知学生的得分情况以及学生的具体得分细节,无法有针对性地根据学生的掌握情况改变教学策略。

因此,有必要开发一套面向计算机一级考试中上机操作评分系统,尤其是针对办公软件的操作内容。本文以Excel电子表格的上机操作评分系统为例,设计并实现了基于VC++和VBA技术的Excel操作评分系统。

2 设计思路

2.1 主要工具

VC++(Microsoft Visual C++)是微软公司基于C++语言的可视化编程工具[1],集成了微软Windows视窗操作系统应用程序接口,支持组件共享,提供了多种数据库访问技术,功能强大稳定、灵活性较高,可扩展性良好,是比较流行的开发工具。

VBA(Visual Basic for Application)是Visual Basic的一种宏语言[2],是VB的一个子集,几种体现在Microsoft的Office套件中。VBA嵌入在Office的每个组件(Word、Excel和PowerPoint等),是COM(部件对象模型)的一部分。

为了实现VC++与Office套件的数据共享,可以借助OLE(对象链接与嵌入)技术来完成此操作,OLE是应用程序间交换数据、相互操作的一种方式[3],它支持不同应用程序之间的信息交互。

2.2 实现思路

通过VC++平台的MFC应用程序搭建用户对话窗口界面,提供用户登录、题目选择和打开Excel操作题、交卷和查看评分的功能;通过Excel内置的VBA宏编程语言来获取Excel中各对象的属性值及内容,分析操作结果的正确性,得出操作评分的结果;通过OLE自动化对象实现VC++和Excel之间的信息交互,包括通过VC++打开Excel操作题目,Excel的操作结果评分和得分细项返回VC++等。

3系统的实现方法

基于实用性、可靠性、安全性和可扩展性的原则,也为了实现完整的Excel操作评分系统功能,该系统共设计出五个主要的功能模块,分别是用户登录模块、题目选择模块、成绩生成模块、结果提交模块和得分详情查看五个模块,各个模块划分相对独立,具体划分如下。

用户登录模块提供用户登录界面,用户输入用户名和密码后选择登录,系统进行用户名和密码的核验,核验通过,用户登录成功,核验不通过提示用户登录失败原因,用户重新输入。系统设置多套模拟题供学生练习评测,题目选择模块提供用户题目选择的界面,当点击“确定选择”后,VC++通过OLE对象启动Excel应用程序并打开对应题目的Excel操作文档。VC++通过OLE对象打开对应题目的Excel文件的C++主要程序代码为:

books.AttachDispatch(ExcelApp.get_Workbooks());

CString strpath=str;

lpDisp=books.Open(strpath, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing);

book.AttachDispatch(lpDisp);

用戶在打开的Excel文档中按题目要求进行操作,操作完后保存文档,在Excel文档中单击操作完毕按钮,通过该按钮,启动成绩生成模块,该模块通过VBA宏语言获取题目要求的操作对象属性,然后对比题库答案规定的属性值,得到操作成绩,然后Excel软件关闭。例如判断图标的图例设置是否正确的VBA代码为:

If .HasLegend = True Then

If .Legend.Position = xlLegendPositionRight Then

ChartResult=ChartResult+1    //图例位置设置正确,图表知识点的成绩得1分

Result= Result + 1     //图例位置设置正确,最终成绩得1分

End If

End If

用户在选择操作完毕后,在操作界面中点击“交卷”按钮,则得分成绩模块开始读取VBA程序中最终成绩结果(Result变量的值)和各知识点得分结果(各知识点的得分结果变量的值),然后以消息框的形式告知用户最终得分。然后学生可以点击“查看得分详情”按钮,获知上一次练习过程中具体是在哪些知识点上丢分,根据丢分结果,然后重新多次练习,确保自身切实掌握相关操作。

4 系统测试结果

经过功能测试、性能测试、稳定性测试等,分批次选取300名学生对系统进行实际应用。学生通过系统均能正常进行登录、题目选择、按题目要求操作Excel、提交并得出正确的操作评分,系统设计达到预期目标,且系统运行的稳定性表现良好。

5 小结

通过该系统的应用,笔者所教班级的计算机等级一级B类考试的过级率从79%提升到了85%。该结果说明基于VC++和VBA的Excel操作评分系统的使用能较好地提升学生的计算机应用操作能力和提升计算机一级考试的过关率。

该系统目前是针对Excel电子表格的上机操作,而计算机等级一级考试中Word文档操作也是上机考试的重难点,Word和Excel同属于微软Office办公软件,本文的系统设计方法可推广至基于Word的上机操作中。此外,该系统的运行,会产生大量的学生操作得分记录,后期可将学生的得分详情数据记录到数据库中,并做进一步的数据统计分析,从而为学校计算机课程改革提供数据支持。

参考文献:

[1] 郭小梅.在VC++中实现Excel数据的导出/导入[J].电脑知识与技术,2008,4(30):726-728,730.

[2] 罗萍.基于Excel VBA的学生操行分管理系统设计与实现[J].电脑编程技巧与维护,2015(5):69-71.

[3] 陈骅.C++Builder、VBA与Excel有机组合——生成报表自动化系统[J].电脑编程技巧与维护,2004(4):21-27.

【通联编辑:王力】