- 相關(guān)推薦
淺談利用VBA對word操作自動(dòng)評分提高課堂實(shí)效性研究
摘 要:現代計算機技術(shù),把人們從繁瑣的勞動(dòng)中解脫出來(lái)。而要教學(xué)這些內容,卻又給計算機教師帶來(lái)繁重的負擔。比如Word、Excel、 Powerpoint等Office教學(xué)內容,學(xué)生練習后的結果,如果讓教師去逐個(gè)檢查的話(huà),簡(jiǎn)直是一項不可想象的事情;而不去檢查,學(xué)生的錯誤又不能得到及時(shí)糾正。要解決這一問(wèn)題,還要從自身找答案,那就是利用Office提供的VBA功能,實(shí)現Office操作題的自動(dòng)測評。
關(guān)鍵詞:自動(dòng)測評 VBA 宏 Word
當今計算機課的教學(xué)中,Word、Excel、Powerpoint等Office教學(xué)內容占了相當大的比重,而這主要是一種技能性,或者說(shuō)操作性的教學(xué)。如果在教學(xué)和練習過(guò)程中讓教師逐個(gè)去檢查學(xué)生的練習結果,勢必給計算機教師增加過(guò)重的負擔,在實(shí)際教學(xué)中幾乎成為不可能。而如今能找到的一些測評軟件,由于版權問(wèn)題,大多是光盤(pán)版的,不能多機使用,更不能靈活地改變其題目設置,很不方便教學(xué)。“求人不如求已”,本文嘗試利用Office提供的VBA 功能,實(shí)現Office操作題的自動(dòng)測評。
那么什么叫VBA呢?
VBA即 Visual Basic For Application,是微軟開(kāi)發(fā)出來(lái)的應用程序所共享的一種通用自動(dòng)化語(yǔ)言?梢哉J為VBA是非常流行的應用程序開(kāi)發(fā)語(yǔ)言Visual Basic的子集。實(shí)際上VBA是“寄生于”VB應用程序的版本。早在上世紀90年代早期,使應用程序自動(dòng)化還是充滿(mǎn)挑戰性的領(lǐng)域,當時(shí)為了對每個(gè)需要自動(dòng)化的應用程序實(shí)現自動(dòng)化,人們不得不去學(xué)習多種不同的自動(dòng)化語(yǔ)言。例如:可以用EXCEL的宏語(yǔ)言來(lái)使EXCEL自動(dòng)化,使用 WORD BASIC來(lái)使WORD自動(dòng)化等等。為了解決這一矛盾,微軟開(kāi)發(fā)出一種通用的自動(dòng)化語(yǔ)言——VBA,它適用于微軟開(kāi)發(fā)出來(lái)的所有應用程序。
那么VBA和VB又有哪些區別呢?
1、VB是設計用于創(chuàng )建標準的應用程序,而VBA是使已有的應用程序(Word等)自動(dòng)化。 誰(shuí)想去注意啊,就是那個(gè)人笑啊什么的就看到了,就像被氧化嚴重一樣,牙齒小小顆又尖尖的
2、VB具有自己的開(kāi)發(fā)環(huán)境,而VBA必須寄生于已有的應用程序。
3、要運行VB開(kāi)發(fā)的應用程序,用戶(hù)不必安裝VB,因為VB開(kāi)發(fā)出的應用程序是可執行文件(*.EXE),而VBA開(kāi)發(fā)的程序必須依賴(lài)于它的“父”應用程序,例如Word等。
盡管存在這些不同,VBA和VB在結構上仍然十分相似。事實(shí)上,如果你已經(jīng)了解了VB,會(huì )發(fā)現學(xué)習VBA非?。相應地,學(xué)完VBA會(huì )給學(xué)習VB打下堅實(shí)的基礎。而且,當學(xué)會(huì )在Word中使用VBA后,即已具備在Excel、Powerpoint等Office 中用VBA創(chuàng )建解決方案的大部分知識。
VBA一個(gè)關(guān)鍵特征是你所學(xué)的知識在微軟的一些產(chǎn)品中可以相互轉化。
總體而言,VBA可以稱(chēng)作Office系列應用程序的“遙控器”。
下面我就以一節Word課的教學(xué)為例,演示其實(shí)現過(guò)程。當然,在此之前,你應該對宏、VBA、面向對象、方法、屬性等概念有所了解,我想作為一名計算機教師來(lái)說(shuō),這些應該是不困難的。
一、根據所學(xué),設計練習題
例如Word教學(xué)中,關(guān)于“文字格式及段落屬性的設置”一節,就涉及到文字的字體、字號、字形、顏色;段落的居中、首行縮進(jìn)、行距等的設置。根據教學(xué)要求,我便設計了如下“練習題.doc”文檔。
計算機的發(fā)展趨勢
當前計算機的發(fā)展趨勢是向巨型化、微型化、網(wǎng)絡(luò )化和智能化方向發(fā)展。
1、巨型化(或功能巨型化)
巨型化是指其高速運算、大存儲容量和強功能的巨型計算機。其運算能力一般在每秒百億次以上、內存容量在幾百兆字節以上。巨型計算機主要用于尖端科學(xué)技術(shù)和軍事國防系統的研究開(kāi)發(fā)。巨型計算機的發(fā)展集中體現了計算機科學(xué)技術(shù)的發(fā)展水平,推動(dòng)了計算機系統結構、硬件和軟件的理論和技術(shù)、計算數學(xué)以及計算機應用等多個(gè)科學(xué)分支的發(fā)展。
2、微型化(或體積微型化)
二十世紀七十年代以來(lái),由于大規模和超大規模集成電路的飛速發(fā)展,微處理器芯片連續更新?lián)Q代,微型計算機連年降價(jià),加上豐富的軟件和外部設備,操作簡(jiǎn)單,使微型計算機很快普及到社會(huì )各個(gè)領(lǐng)域并走進(jìn)了千家萬(wàn)戶(hù)。隨著(zhù)微電子技術(shù)的進(jìn)一步發(fā)展,微型計算機將發(fā)展得更加迅速,其中筆記本型、掌上型等微型計算機必將以更優(yōu)的性能價(jià)格比受到人們的歡迎。展望未來(lái),計算機的發(fā)展必然要經(jīng)歷很多新的突破。從目前的發(fā)展趨勢來(lái)看,未來(lái)的計算機將是微電子技術(shù)、光學(xué)技術(shù)、超導技術(shù)和電子仿生技術(shù)相互結合的產(chǎn)物。第一臺超高速全光數字計算機,已由歐盟的英國、法國、德國、意大利和比利時(shí)等國的70多名科學(xué)家和工程師合作研制成功,光子計算機的運算速度比電子計算機快1000倍。在不久的將來(lái),超導計算機、神經(jīng)網(wǎng)絡(luò )計算機等全新的計算機也會(huì )誕生。屆時(shí)計算機將發(fā)展到一個(gè)更高、更先進(jìn)的水平。
提出要求:“題目要求.txt”
(1)將標題“計算機的發(fā)展趨勢”,設為華文行楷、二號、天藍色字。
(2)將兩個(gè)小標題,設為楷體、四號、加粗。
(3)將兩段正文,設為仿宋體、小四號、傾斜。
(4)將標題居中。
(5)將正文內容首行縮進(jìn)2字符,行距1.5倍。
二、 教師試做,錄制并分析宏
教師試做上面5個(gè)小題,同時(shí)相應錄制五段宏:KS1、KS2、KS3、KS4、KS5。提示:在錄制宏的過(guò)程中,要選擇內容時(shí),注意需要暫停宏。
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對象代表一個(gè)窗格中的選定內容。該內容可以包括文檔中的一個(gè)區域,也可以?xún)H包括插入點(diǎn)。”
前三段宏中,“Font對象包含了各種字體屬性。”“Name代表文字字體名稱(chēng)。”“Size代表文字大小。”“Color代表文字顏色。”“Bold代表文字是否加粗。”“Italic代表文字是否傾斜。”“wdToggle等同于True。”
第四段宏中,“ParagraphFormat代表了指定區域、所選范圍、查找與替換操作或樣式中的段落設置。”“Alignment返回或設置指定段落的對齊方式。” “wdAlignParagraphCe
nter代表居中對齊。”
第五段宏,內容很多,但只有幾個(gè)參數有用,“Character
UnitFirstLineIndent返回或設置首行或懸掛縮進(jìn)的值(以字符為單位)。用正值設置首行縮進(jìn),用負值設定懸掛縮進(jìn)。Single 類(lèi)型可讀寫(xiě)。”“LineSpacingRule返回或設置指定段落的行距,wdLineSpace1pt5代表1.5倍行距。”
這里,如果對代碼不理解的話(huà),可以查閱幫助,注意不是Word窗口中的幫助,而是Visual Basic 編輯器窗口中的幫助,或者直接在VBAWRD9.CHM幫助文件中查找。(其默認安裝目錄為C:“Program Files“Microsoft Office“Office“2052)
三、按圖索驥,編制測評代碼
這一步,難度較大,我們可以參考相關(guān)的VB和VBA書(shū)籍。另外在Office 2000的安裝目錄下可以找到諸如VBAWRD9.CHM、VBAXL9.CHM、VBAPPT9.CHM、VBAOFF9.CHM等幫助文件作為學(xué)習和參考之用。
下面是我編寫(xiě)的關(guān)于“練習題.doc”文檔的測評代碼。
Sub 測評()
Dim defen As Integer 設置測評結果變量defen
defen=0’測評結果變量defen初始化為0
、 將標題“計算機的發(fā)展趨勢”,設為華文行楷、二號、天藍色字。(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
、 將兩個(gè)小標題,設為楷體、四號、加粗。(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
、 將正文內容首行縮進(jìn)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
四、設置共享,實(shí)現自動(dòng)測評
這一步可以把“題目要求.doc”和“練習題.txt”兩個(gè)文件放置在教師機的一個(gè)文件夾內,并把這個(gè)文件夾設為只讀共享,學(xué)生便可以通過(guò)網(wǎng)絡(luò )來(lái)訪(fǎng)問(wèn)教師機進(jìn)行練習了。
本文僅以Word為例加以說(shuō)明,實(shí)際上本方法適用于大多數Office文檔的自動(dòng)測評,如Excel、Powerpoint等。
參考文獻
1、ExcelHelp Forum.
2、OFFICE精英俱樂(lè )部.
【淺談利用VBA對word操作自動(dòng)評分提高課堂實(shí)效性研究】相關(guān)文章:
淺談?dòng)⒄Z(yǔ)課堂教學(xué)的實(shí)效性03-08
淺談利用植物提高校園文化品位06-03
淺談利用腦神經(jīng)興奮規律提高物理課堂教學(xué)效果11-20
淺談利用掛機自動(dòng)冷庫貯藏黃金梨的技術(shù)03-17
淺談合作學(xué)習對促進(jìn)初中體育課堂教學(xué)效果的實(shí)效性研究03-06
淺談?wù)Z(yǔ)文課堂教學(xué)效率的提高06-18