利用VBA对word操作自动评分提高课堂实效性研究

利用VBA对word操作自动评分提高课堂实效性研究

◆李多海陈晓莹甘肃省临泽县职业中等专业学校734200

摘要:现代计算机技术,把人们从繁琐的劳动中解脱出来。而要教学这些内容,却又给计算机教师带来繁重的负担。比如Word、Excel、Powerpoint等Office教学内容,学生练习后的结果,如果让教师去逐个检查的话,简直是一项不可想象的事情;而不去检查,学生的错误又不能得到及时纠正。要解决这一问题,还要从自身找答案,那就是利用Office提供的VBA功能,实现Office操作题的自动测评。

关键词:自动测评VBA宏Word

当今计算机课的教学中,Word、Excel、Powerpoint等Office教学内容占了相当大的比重,而这主要是一种技能性,或者说操作性的教学。如果在教学和练习过程中让教师逐个去检查学生的练习结果,势必给计算机教师增加过重的负担,在实际教学中几乎成为不可能。而如今能找到的一些测评软件,由于版权问题,大多是光盘版的,不能多机使用,更不能灵活地改变其题目设置,很不方便教学。“求人不如求已”,本文尝试利用Office提供的VBA功能,实现Office操作题的自动测评。

那么什么叫VBA呢?

VBA即VisualBasicForApplication,是微软开发出来的应用程序所共享的一种通用自动化语言。可以认为VBA是非常流行的应用程序开发语言VisualBasic的子集。实际上VBA是“寄生于”VB应用程序的版本。早在上世纪90年代早期,使应用程序自动化还是充满挑战性的领域,当时为了对每个需要自动化的应用程序实现自动化,人们不得不去学习多种不同的自动化语言。例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORDBASIC来使WORD自动化等等。为了解决这一矛盾,微软开发出一种通用的自动化语言——VBA,它适用于微软开发出来的所有应用程序。

那么VBA和VB又有哪些区别呢?

1、VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(Word等)自动化。

2、VB具有自己的开发环境,而VBA必须寄生于已有的应用程序。

3、要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的“父”应用程序,例如Word等。

尽管存在这些不同,VBA和VB在结构上仍然十分相似。事实上,如果你已经了解了VB,会发现学习VBA非常快。相应地,学完VBA会给学习VB打下坚实的基础。而且,当学会在Word中使用VBA后,即已具备在Excel、Powerpoint等Office中用VBA创建解决方案的大部分知识。

VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化。

总体而言,VBA可以称作Office系列应用程序的“遥控器”。

下面我就以一节Word课的教学为例,演示其实现过程。当然,在此之前,你应该对宏、VBA、面向对象、方法、属性等概念有所了解,我想作为一名计算机教师来说,这些应该是不困难的。

一、根据所学,设计练习题

例如Word教学中,关于“文字格式及段落属性的设置”一节,就涉及到文字的字体、字号、字形、颜色;段落的居中、首行缩进、行距等的设置。根据教学要求,我便设计了如下“练习题.doc”文档。

计算机的发展趋势

当前计算机的发展趋势是向巨型化、微型化、网络化和智能化方向发展。

1、巨型化(或功能巨型化)

巨型化是指其高速运算、大存储容量和强功能的巨型计算机。其运算能力一般在每秒百亿次以上、内存容量在几百兆字节以上。巨型计算机主要用于尖端科学技术和军事国防系统的研究开发。巨型计算机的发展集中体现了计算机科学技术的发展水平,推动了计算机系统结构、硬件和软件的理论和技术、计算数学以及计算机应用等多个科学分支的发展。

2、微型化(或体积微型化)

二十世纪七十年代以来,由于大规模和超大规模集成电路的飞速发展,微处理器芯片连续更新换代,微型计算机连年降价,加上丰富的软件和外部设备,操作简单,使微型计算机很快普及到社会各个领域并走进了千家万户。随着微电子技术的进一步发展,微型计算机将发展得更加迅速,其中笔记本型、掌上型等微型计算机必将以更优的性能价格比受到人们的欢迎。展望未来,计算机的发展必然要经历很多新的突破。从目前的发展趋势来看,未来的计算机将是微电子技术、光学技术、超导技术和电子仿生技术相互结合的产物。第一台超高速全光数字计算机,已由欧盟的英国、法国、德国、意大利和比利时等国的70多名科学家和工程师合作研制成功,光子计算机的运算速度比电子计算机快1000倍。在不久的将来,超导计算机、神经网络计算机等全新的计算机也会诞生。届时计算机将发展到一个更高、更先进的水平。

提出要求:“题目要求.txt”

(1)将标题“计算机的发展趋势”,设为华文行楷、二号、天蓝色字。

(2)将两个小标题,设为楷体、四号、加粗。

(3)将两段正文,设为仿宋体、小四号、倾斜。

(4)将标题居中。

(5)将正文内容首行缩进2字符,行距1.5倍。

二、教师试做,录制并分析宏

教师试做上面5个小题,同时相应录制五段宏:KS1、KS2、KS3、KS4、KS5。提示:在录制宏的过程中,要选择内容时,注意需要暂停宏。

Subks1()

Selection.Font.Name=“华文行楷”

Selection.Font.Size=22

Selection.Font.Color=wdColorSkyBlue

EndSub

Subks2()

Selection.Font.Name=“楷体_GB2312”

Selection.Font.Size=14

Selection.Font.Bold=wdToggle

Selection.Font.Name=“楷体_GB2312”

Selection.Font.Size=14

Selection.Font.Bold=wdToggle

EndSub

Subks3()

Selection.Font.Name=“仿宋_GB2312”

Selection.Font.Size=12

Selection.Font.Italic=wdToggle

Selection.Font.Name=“仿宋_GB2312”

Selection.Font.Size=12

Selection.Font.Italic=wdToggle

EndSub

Subks4()

Selection.ParagraphFormat.Alignment=wdAlignParagraphCenter

EndSub

Subks5()

WithSelection.ParagraphFormat

.LeftIndent=CentimetersToPoints(0)

.RightIndent=CentimetersToPoints(0)

.SpaceBefore=0

.SpaceBeforeAuto=False

.SpaceAfter=0

.SpaceAfterAuto=False

.LineSpacingRule=wdLineSpace1pt5

.Alignment=wdAlignParagraphJustify

.WidowControl=False

.KeepWithNext=False

.KeepTogether=False

.PageBreakBefore=False

.NoLineNumber=False

.Hyphenation=True

.FirstLineIndent=CentimetersToPoints(0.35)

.OutlineLevel=wdOutlineLevelBodyText

.CharacterUnitLeftIndent=0

.CharacterUnitRightIndent=0

.CharacterUnitFirstLineIndent=2

.LineUnitBefore=0

.LineUnitAfter=0

.AutoAdjustRightIndent=True

.DisableLineHeightGrid=False

.FarEastLineBreakControl=True

.WordWrap=True

.HangingPunctuation=True

.HalfWidthPunctuationOnTopOfLine=False

.AddSpaceBetweenFarEastAndAlpha=True

.AddSpaceBetweenFarEastAndDigit=True

.BaseLineAlignment=wdBaselineAlignAuto

EndWith

EndSub

五段宏中,“Selection对象代表一个窗格中的选定内容。该内容可以包括文档中的一个区域,也可以仅包括插入点。”

前三段宏中,“Font对象包含了各种字体属性。”“Name代表文字字体名称。”“Size代表文字大小。”“Color代表文字颜色。”“Bold代表文字是否加粗。”“Italic代表文字是否倾斜。”“wdToggle等同于True。”

第四段宏中,“ParagraphFormat代表了指定区域、所选范围、查找与替换操作或样式中的段落设置。”“Alignment返回或设置指定段落的对齐方式。”“wdAlignParagraphCe

nter代表居中对齐。”

第五段宏,内容很多,但只有几个参数有用,“Character

UnitFirstLineIndent返回或设置首行或悬挂缩进的值(以字符为单位)。用正值设置首行缩进,用负值设定悬挂缩进。Single类型可读写。”“LineSpacingRule返回或设置指定段落的行距,wdLineSpace1pt5代表1.5倍行距。”

这里,如果对代码不理解的话,可以查阅帮助,注意不是Word窗口中的帮助,而是VisualBasic编辑器窗口中的帮助,或者直接在VBAWRD9.CHM帮助文件中查找。(其默认安装目录为C:\ProgramFiles\MicrosoftOffice\Office\2052)

三、按图索骥,编制测评代码

这一步,难度较大,我们可以参考相关的VB和VBA书籍。另外在Office2000的安装目录下可以找到诸如VBAWRD9.CHM、VBAXL9.CHM、VBAPPT9.CHM、VBAOFF9.CHM等帮助文件作为学习和参考之用。

下面是我编写的关于“练习题.doc”文档的测评代码。

Sub测评()

DimdefenAsInteger设置测评结果变量defen

defen=0'测评结果变量defen初始化为0

⑴将标题“计算机的发展趋势”,设为华文行楷、二号、天蓝色字。(2分)

IfActiveDocument.Paragraphs.Count>=1Then

ActiveDocument.Paragraphs(1).Range.Select

IfSelection.Font.Name=“华文行楷”AndSelection.Font.Size=22AndSelection.Font.Color=wdColorSkyBlueThen

defen=defen+2如果正确则加2分

EndIf

EndIf

⑵将两个小标题,设为楷体、四号、加粗。(2分)

IfActiveDocument.Paragraphs.Count>=4Then

ActiveDocument.Paragraphs(2).Range.Select

IfSelection.Font.Name=“楷体_GB2312”AndSelection.Font.Size=14AndSelection.Font.BoldThen

ActiveDocument.Paragraphs(4).Range.Select

IfSelection.Font.Name=“楷体_GB2312”AndSelection.Font.Size=14AndSelection.Font.BoldThen

defen=defen+2如果正确则加2分

EndIf

EndIf

EndIf

⑶将两段正文,设为仿宋体、小四号、倾斜。(2分)

IfActiveDocument.Paragraphs.Count>=5Then

ActiveDocument.Paragraphs(3).Range.Select

IfSelection.Font.Name="仿宋_GB2312"AndSelection.Font.Size=12AndSelection.Font.Italic=TrueThen

ActiveDocument.Paragraphs(5).Range.Select

IfSelection.Font.Name=“仿宋_GB2312”AndSelection.Font.Size=12AndSelection.Font.Italic=TrueThen

defen=defen+2'如果正确则加2分

EndIf

EndIf

EndIf

⑷将标题居中。(2分)

IfActiveDocument.Paragraphs.Count>=1Then

ActiveDocument.Paragraphs(1).Range.Select

IfSelection.ParagraphFormat.Alignment=1Then

defen=defen+2'如果正确则加2分

EndIf

EndIf

⑸将正文内容首行缩进2字符,行距1.5倍。(2分)

IfActiveDocument.Paragraphs.Count>=5Then

ActiveDocument.Range(ActiveDocument.Paragraphs(2).Range.Start,ActiveDocument.Paragraphs(5).Range.End).Select

IfSelection.ParagraphFormat.CharacterUnitFirstLineIndent=2AndSelection.ParagraphFormat.LineSpacingRule=wdLineSpace1pt5Then

defen=defen+2如果正确则加2分

EndIf

EndIf

输出测评结果变量defen

MsgBoxdefen,“最终得分”

EndSub

四、设置共享,实现自动测评

这一步可以把“题目要求.doc”和“练习题.txt”两个文件放置在教师机的一个文件夹内,并把这个文件夹设为只读共享,学生便可以通过网络来访问教师机进行练习了。

本文仅以Word为例加以说明,实际上本方法适用于大多数Office文档的自动测评,如Excel、Powerpoint等。

参考文献

1、逸海书城.http://www.easysea.com/diannao/books/software/office/Excel/index01/112.htm

2、ExcelHelpForum.http://www.excelhelp.net/cgi-bin/forum/loginout.cgi

3、OFFICE精英俱乐部.http://www.officefans.net/cdb/index.php

标签:;  ;  ;  

利用VBA对word操作自动评分提高课堂实效性研究
下载Doc文档

猜你喜欢