王讀祥
摘要: 利用PowerPoint的宏技術制作電子試卷,簡單實用,可以完成對單項選擇題、多項選擇題及填空題的自動判卷、統(tǒng)計分數(shù)的功能,實現(xiàn)無紙化考試形式,大大減輕廣大教師繁重的工作。
關鍵詞: PowerPoint宏技術 控件 電子試卷 制作
作為一名教員,我們經常使用PowerPoint制作課件進行教學,并取得了較好的教學效果。以前當需要對學員進行測驗和考試時,我們要打字排版印試卷,考試完畢后還要改卷,進行成績統(tǒng)計等工作,非常煩鎖。其實,利用PowerPoint的宏技術可以制作簡易的電子試卷,本文在此介紹利用PowerPoint的宏技術實現(xiàn)單項選擇、多項選擇及填空題的判卷、統(tǒng)計分數(shù)等任務。
一、準備工作
當需要使用PPT的宏技術時,必須單擊“工具”→“宏”→“安全性”→“低”,否則控件代碼不會生效。(見圖1)
二、創(chuàng)建單項選擇題
(一)界面設計
新建一個PowerPoint文檔,命名為“考試”保存;選擇一個空白版式幻燈片,單擊菜單欄“視圖”→“工具欄”→“控件工具箱”,使用“控件工具箱”中的工具“命令按鈕”制作出“姓名輸入”按鈕,即用鼠標點擊“命令按鈕”,并在空白幻燈片上拖出一個“CommandButton1”,點擊鼠標右鍵在“CommandButton1”的屬性框中把它的Caption(標題)屬性改為“姓名輸入”;在這個命令按鈕的下方用插入文本框輸入單項選擇題以及對應的題目,再點擊“控件工具箱”中的“選項按鈕”制作出選擇答案A、B、C、D,并分別修改它們的標題屬性,得到相應的答案選項;并在下方加入幾個動作按鈕,以方便鏈接到相關的頁面。(見圖2)
(二)代碼設計
為了能記錄每位學員做各個題目的答案和統(tǒng)計其得分,要定義公用變量和數(shù)組,雙擊圖2 中的“姓名輸入”按鈕進入VBA代碼編寫窗口,選擇菜單項“插入”下的“模塊”,在模塊編輯窗口中輸入代碼:
Public xm As StringXM變量用于記錄考生姓名
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
單項選擇題的第一題就設計完成了,對于第二題只需要改變題目內容,答案記錄為aw(2),得分記錄為sm(2)即可,依此類推,即可完成對單項選擇題的設計工作。
三、創(chuàng)建多項選擇題
(一)界面設計
對于多項選擇題,其界面與單項選擇題的界面類似,使用“控件工具箱”下的“復選框”設計出四個答案選項即可,為了合并答案選項,必須添加一個命令按鈕,設計界面見圖3。
(二)代碼設計
分別雙擊四個答案選項,輸入如下代碼:
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)將選擇的答案進行合并組合
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
注意一點:選擇完你認為正確的答案以后,必須單擊“答題認證”,完成對答案正確與否的判斷。
四、創(chuàng)建填空題
(一)界面設計
設計的界面如圖4,添加一個文本框即可。
(二)代碼設計
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累加各題分數(shù)
s = s + sm(i)
Next
Open ″D:\test\″& xm & ″.txt″ For Append As nf用輸入的姓名作文件名,在D盤的test文件夾下創(chuàng)建一個文本文件
For j = 1 To 3把各個題號和所選擇的答案按順序寫入到這個文本文件中去
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 關閉打開的演示文檔,并且不提示用戶保存所做的工作
Next
End With
End Sub
最后,為了防止考生進行考試時,查看其中的代碼,在代碼編寫狀態(tài)下,單擊“視圖”下的“工程資源管理器”,用鼠標右鍵點擊“VBAProject”,在其屬性對話框中選擇“保護”標簽選項輸入密碼實現(xiàn)密碼保護。教員還可以將D盤的Test文件夾進行隱藏,防止學員更改其中的考試相關資料。
將PowerPoint的VBA技術實現(xiàn)客觀題考試的相關技術應用于平時測驗、結束考試中,能夠極大地提高廣大教員的工作效率,能使廣大教員從繁瑣的出卷、改卷工作中解脫出來,將更多的精力放在提高教學效果上。
參考文獻:
[1]張峋.Excel VBA入門與典型實例[M].北京:清華大學出版社,2007:264-289.
[2]武馬群.計算機應用技術基礎[M].北京:中國宇航出版社,2003:237-243.