摘要: 利用PowerPoint的宏技術(shù)制作電子試卷,簡單實用,可以完成對單項選擇題、多項選擇題及填空題的自動判卷、統(tǒng)計分?jǐn)?shù)的功能,實現(xiàn)無紙化考試形式,大大減輕廣大教師繁重的工作。
關(guān)鍵詞: PowerPoint宏技術(shù) 控件 電子試卷 制作
作為一名教員,我們經(jīng)常使用PowerPoint制作課件進(jìn)行教學(xué),并取得了較好的教學(xué)效果。以前當(dāng)需要對學(xué)員進(jìn)行測驗和考試時,我們要打字排版印試卷,考試完畢后還要改卷,進(jìn)行成績統(tǒng)計等工作,非常煩鎖。其實,利用PowerPoint的宏技術(shù)可以制作簡易的電子試卷,本文在此介紹利用PowerPoint的宏技術(shù)實現(xiàn)單項選擇、多項選擇及填空題的判卷、統(tǒng)計分?jǐn)?shù)等任務(wù)。
一、準(zhǔn)備工作
當(dāng)需要使用PPT的宏技術(shù)時,必須單擊“工具”→“宏”→“安全性”→“低”,否則控件代碼不會生效。(見圖1)
二、創(chuàng)建單項選擇題
(一)界面設(shè)計
新建一個PowerPoint文檔,命名為“考試”保存;選擇一個空白版式幻燈片,單擊菜單欄“視圖”→“工具欄”→“控件工具箱”,使用“控件工具箱”中的工具“命令按鈕”制作出“姓名輸入”按鈕,即用鼠標(biāo)點擊“命令按鈕”,并在空白幻燈片上拖出一個“CommandButton1”,點擊鼠標(biāo)右鍵在“CommandButton1”的屬性框中把它的Caption(標(biāo)題)屬性改為“姓名輸入”;在這個命令按鈕的下方用插入文本框輸入單項選擇題以及對應(yīng)的題目,再點擊“控件工具箱”中的“選項按鈕”制作出選擇答案A、B、C、D,并分別修改它們的標(biāo)題屬性,得到相應(yīng)的答案選項;并在下方加入幾個動作按鈕,以方便鏈接到相關(guān)的頁面。(見圖2)
(二)代碼設(shè)計
為了能記錄每位學(xué)員做各個題目的答案和統(tǒng)計其得分,要定義公用變量和數(shù)組,雙擊圖2 中的“姓名輸入”按鈕進(jìn)入VBA代碼編寫窗口,選擇菜單項“插入”下的“模塊”,在模塊編輯窗口中輸入代碼:
Public xm As String’XM變量用于記錄考生姓名
Public aw(3) As String’數(shù)組aw(3)用于記錄考生各題所選擇的答案,這兒的3表示有3道題
Public sm(3) As Integer’數(shù)組sm(3)用于記錄各題的得分,這兒的3表示有3道題
Public dx(4) As String’數(shù)組dx(4)用于記錄多項選擇題每項的選擇
Private Sub CommandButton1_Click()
xm = InputBox(″輸入考生姓名……″)’用InputBox()函數(shù)記錄考生輸入的姓名
End Sub
分別雙擊答案A、B、C和D選項按鈕,輸入如下代碼:
Private Sub OptionButton1_Click()
aw(1) = ″A″
sm(1) = 0
End Sub
Private Sub OptionButton2_Click()
aw(1) = ″B″
sm(1) = 0
End Sub
Private Sub OptionButton3_Click()
aw(1) = ″C″
sm(1) = 2’表示它是正確答案,選擇這個答案得2分,其它答案得0分
End Sub
Private Sub OptionButton4_Click()
aw(1) = ″D″
sm(1) = 0
End Sub
單項選擇題的第一題就設(shè)計完成了,對于第二題只需要改變題目內(nèi)容,答案記錄為aw(2),得分記錄為sm(2)即可,依此類推,即可完成對單項選擇題的設(shè)計工作。
三、創(chuàng)建多項選擇題
(一)界面設(shè)計
對于多項選擇題,其界面與單項選擇題的界面類似,使用“控件工具箱”下的“復(fù)選框”設(shè)計出四個答案選項即可,為了合并答案選項,必須添加一個命令按鈕,設(shè)計界面見圖3。
(二)代碼設(shè)計
分別雙擊四個答案選項,輸入如下代碼:
Private Sub CheckBox1_Click()
dx(1) = ″A″
End Sub
Private Sub CheckBox2_Click()
dx(2) = ″B″
End Sub
Private Sub CheckBox3_Click()
dx(3) = ″C″
End Sub
Private Sub CheckBox4_Click()
dx(4) = ″D″
End Sub
Private Sub CommandButton1_Click()
aw(2) = dx(1) dx(2) dx(3) dx(4)’將選擇的答案進(jìn)行合并組合
If CheckBox1.Value = True And CheckBox2.Value = True And CheckBox3.Value = True And CheckBox4.Value Then’對于此題,只有四個答案全部選擇,才得5分,其余答案得0分。
sm(2) = 5
Else
sm(2) = 0
End If
End Sub
注意一點:選擇完你認(rèn)為正確的答案以后,必須單擊“答題認(rèn)證”,完成對答案正確與否的判斷。
四、創(chuàng)建填空題
(一)界面設(shè)計
設(shè)計的界面如圖4,添加一個文本框即可。
(二)代碼設(shè)計
Private Sub TextBox1_LostFocus()
aw(3) = TextBox1.Text
If UCase$(TextBox1) = ″CPU″ Then’判斷此題的答案的大寫為CPU即可得3分,其余答案不得分。
sm(3) = 3
Else
sm(3) = 0
End If
End Sub
五、創(chuàng)建提交界面
在最后一張幻燈片上,添加一個“提交”按鈕,見圖5
單擊“提交”按鈕,輸入如下代碼:
Private Sub CommandButton1_Click()
Dim i, j, s, nf As Integer
nf = FreeFile
s = 0
For i = 1 To 3’累加各題分?jǐn)?shù)
s = s + sm(i)
Next
Open ″D:\test\″ xm ″.txt″ For Append As nf’用輸入的姓名作文件名,在D盤的test文件夾下創(chuàng)建一個文本文件
For j = 1 To 3’把各個題號和所選擇的答案按順序?qū)懭氲竭@個文本文件中去
Print #nf,″第″ Str(j) ″題″ aw(j);
Next j
Print #nf,″總分為:″ Str(s)’把得分寫入到這個文本文件的最后
Close nf
With Application.Presentations
For i =.Count To 1 Step -1
.Item(i).Close’使用此方法,PowerPoint 關(guān)閉打開的演示文檔,并且不提示用戶保存所做的工作
Next
End With
End Sub
最后,為了防止考生進(jìn)行考試時,查看其中的代碼,在代碼編寫狀態(tài)下,單擊“視圖”下的“工程資源管理器”,用鼠標(biāo)右鍵點擊“VBAProject”,在其屬性對話框中選擇“保護(hù)”標(biāo)簽選項輸入密碼實現(xiàn)密碼保護(hù)。教員還可以將D盤的Test文件夾進(jìn)行隱藏,防止學(xué)員更改其中的考試相關(guān)資料。
將PowerPoint的VBA技術(shù)實現(xiàn)客觀題考試的相關(guān)技術(shù)應(yīng)用于平時測驗、結(jié)束考試中,能夠極大地提高廣大教員的工作效率,能使廣大教員從繁瑣的出卷、改卷工作中解脫出來,將更多的精力放在提高教學(xué)效果上。
參考文獻(xiàn):
[1]張峋.Excel VBA入門與典型實例[M].北京:清華大學(xué)出版社,2007:264-289.
[2]武馬群.計算機(jī)應(yīng)用技術(shù)基礎(chǔ)[M].北京:中國宇航出版社,2003:237-243.