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

时间:2020-11-03 10:49:24 计算机应用毕业论文 我要投稿

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

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

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

  关键词:自动测评 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等。

【利用VBA对word操作自动评分提高课堂实效性研究】相关文章:

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

2.利用Word自动维护参考文献的编号和引用

3.高中德育工作实效性提高策略研究

4.利用听写提高听力水平

5.怎么提高德育工作的实效性

6.如何利用OG提高GMAT阅读

7.利用动词提高GMAT语法成绩

8.简析提高中学政治课堂教学实效性策略教育论文