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