- 相关推荐
浅谈利用VBA对word操作自动评分提高课堂实效性研究
摘 要:现代计算机技术,把人们从繁琐的劳动中解脱出来。而要教学这些内容,却又给计算机教师带来繁重的负担。比如Word、Excel、 Powerpoint等Office教学内容,学生练习后的结果,如果让教师去逐个检查的话,简直是一项不可想象的事情;而不去检查,学生的错误又不能得到及时纠正。要解决这一问题,还要从自身找答案,那就是利用Office提供的VBA功能,实现Office操作题的自动测评。
关键词:自动测评 VBA 宏 Word
当今计算机课的教学中,Word、Excel、Powerpoint等Office教学内容占了相当大的比重,而这主要是一种技能性,或者说操作性的教学。如果在教学和练习过程中让教师逐个去检查学生的练习结果,势必给计算机教师增加过重的负担,在实际教学中几乎成为不可能。而如今能找到的一些测评软件,由于版权问题,大多是光盘版的,不能多机使用,更不能灵活地改变其题目设置,很不方便教学。“求人不如求已”,本文尝试利用Office提供的VBA 功能,实现Office操作题的自动测评。
那么什么叫VBA呢?
VBA即 Visual Basic For Application,是微软开发出来的应用程序所共享的一种通用自动化语言。可以认为VBA是非常流行的应用程序开发语言Visual Basic的子集。实际上VBA是“寄生于”VB应用程序的版本。早在上世纪90年代早期,使应用程序自动化还是充满挑战性的领域,当时为了对每个需要自动化的应用程序实现自动化,人们不得不去学习多种不同的自动化语言。例如:可以用EXCEL的宏语言来使EXCEL自动化,使用 WORD BASIC来使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。提示:在录制宏的过程中,要选择内容时,注意需要暂停宏。
Sub ks1()
Selection.Font.Name=“华文行楷”
Selection.Font.Size=22
Selection.Font.Color=wdColorSkyBlue
End Sub
Sub ks2()
Selection.Font.Name=“楷体_GB2312”
Selection.Font.Size=14
Selection.Font.Bold=wdToggle
Selection.Font.Name=“楷体_GB2312”
Selection.Font.Size=14
Selection.Font.Bold=wdToggle
End Sub
Sub ks3()
Selection.Font.Name=“仿宋_GB2312”
Selection.Font.Size=12
Selection.Font.Italic=wdToggle
Selection.Font.Name=“仿宋_GB2312”
Selection.Font.Size=12
Selection.Font.Italic=wdToggle
End Sub
Sub ks4()
Selection.ParagraphFormat.Alignment=wdAlignParagraphCenter
End Sub
Sub ks5()
With Selection.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
End With
End Sub
五段宏中,“Selection对象代表一个窗格中的选定内容。该内容可以包括文档中的一个区域,也可以仅包括插入点。”
前三段宏中,“Font对象包含了各种字体属性。”“Name代表文字字体名称。”“Size代表文字大小。”“Color代表文字颜色。”“Bold代表文字是否加粗。”“Italic代表文字是否倾斜。”“wdToggle等同于True。”
第四段宏中,“ParagraphFormat代表了指定区域、所选范围、查找与替换操作或样式中的段落设置。”“Alignment返回或设置指定段落的对齐方式。” “wdAlignParagraphCe
nter代表居中对齐。”
第五段宏,内容很多,但只有几个参数有用,“Character
UnitFirstLineIndent返回或设置首行或悬挂缩进的值(以字符为单位)。用正值设置首行缩进,用负值设定悬挂缩进。Single 类型可读写。”“LineSpacingRule返回或设置指定段落的行距,wdLineSpace1pt5代表1.5倍行距。”
这里,如果对代码不理解的话,可以查阅帮助,注意不是Word窗口中的帮助,而是Visual Basic 编辑器窗口中的帮助,或者直接在VBAWRD9.CHM帮助文件中查找。(其默认安装目录为C:“Program Files“Microsoft Office“Office“2052)
三、按图索骥,编制测评代码
这一步,难度较大,我们可以参考相关的VB和VBA书籍。另外在Office 2000的安装目录下可以找到诸如VBAWRD9.CHM、VBAXL9.CHM、VBAPPT9.CHM、VBAOFF9.CHM等帮助文件作为学习和参考之用。
下面是我编写的关于“练习题.doc”文档的测评代码。
Sub 测评()
Dim defen As Integer 设置测评结果变量defen
defen=0’测评结果变量defen初始化为0
⑴ 将标题“计算机的发展趋势”,设为华文行楷、二号、天蓝色字。(2分)
If ActiveDocument.Paragraphs.Count = 1 Then
ActiveDocument.Paragraphs(1).Range.Select
If Selection.Font.Name=“华文行楷”And Selection.Font.Size=22 And Selection.Font.Color=wdColorSkyBlue Then
defen=defen+2如果正确则加2分
End If
End If
⑵ 将两个小标题,设为楷体、四号、加粗。(2分)
If ActiveDocument.Paragraphs.Count = 4 Then
ActiveDocument.Paragraphs(2).Range.Select
If Selection.Font.Name=“楷体_GB2312”And Selection.Font.Size=14 And Selection.Font.Bold Then
ActiveDocument.Paragraphs(4).Range.Select
If Selection.Font.Name=“楷体_GB2312”And Selection.Font.Size=14 And Selection.Font.Bold Then
defen=defen+2如果正确则加2分
End If
End If
End If
⑶ 将两段正文,设为仿宋体、小四号、倾斜。(2分)
If ActiveDocument.Paragraphs.Count = 5 Then
ActiveDocument.Paragraphs(3).Range.Select
If Selection.Font.Name="仿宋_GB2312" And Selection.Font.Size=12 And Selection.Font.Italic=True Then
ActiveDocument.Paragraphs(5).Range.Select
If Selection.Font.Name=“仿宋_GB2312”And Selection.Font.Size=12 And Selection.Font.Italic=True Then
defen=defen+2’如果正确则加2分
End If
End If
End If
⑷ 将标题居中。(2分)
If ActiveDocument.Paragraphs.Count = 1 Then
ActiveDocument.Paragraphs(1).Range.Select
If Selection.ParagraphFormat.Alignment=1 Then
defen=defen+2 ’如果正确则加2分
End If
End If
⑸ 将正文内容首行缩进2字符,行距1.5倍。(2分)
If ActiveDocument.Paragraphs.Count = 5 Then
ActiveDocument.Range(ActiveDocument.Paragraphs(2).Range.Start, ActiveDocument.Paragraphs(5).Range.End).Select
If Selection.ParagraphFormat.CharacterUnitFirstLineIndent=2 And Selection.ParagraphFormat.LineSpacingRule=wdLineSpace1pt5 Then
defen=defen+2如果正确则加2分
End If
End If
输出测评结果变量defen
MsgBox defen,“最终得分”
End Sub
四、设置共享,实现自动测评
这一步可以把“题目要求.doc”和“练习题.txt”两个文件放置在教师机的一个文件夹内,并把这个文件夹设为只读共享,学生便可以通过网络来访问教师机进行练习了。
本文仅以Word为例加以说明,实际上本方法适用于大多数Office文档的自动测评,如Excel、Powerpoint等。
参考文献
1、ExcelHelp Forum.
2、OFFICE精英俱乐部.
【浅谈利用VBA对word操作自动评分提高课堂实效性研究】相关文章:
关于提高数学课堂教学效果浅谈06-12
注重细节提高幼儿教育实效性论文05-27
如何提高小学品德与社会教学实效性12-19
浅谈旅游景区事件营销操作策略05-12
word自动生成目录和参考文献的技巧04-19
Word文档如何自动生成参考文献引用04-21
提高酒店经济效益研究06-11
浅谈切实提高计算机教育效益06-14
浅谈如何提高配网故障的抢修效率05-08