Excel相對(duì)于Word軟件包具有更強(qiáng)的數(shù)據(jù)處理、存儲(chǔ)與顯示功能。本文介紹在Excel中通過(guò)表格、窗體與宏、控件與VBA分別編制自測(cè)練習(xí)與試卷的方法。學(xué)生選擇回答完所有自測(cè)問(wèn)題后單擊相應(yīng)命令按鈕即可獲得參考答案、清除參考答案或清除學(xué)生答案。
試題選自筆者“Intenet網(wǎng)絡(luò)及其應(yīng)用”課程期末考題,題型包括單選、是非、填空與問(wèn)答題。
一、基于表格的自測(cè)練習(xí)與試卷的編制
圖1給出基于表格的典型單選題(A67:C71)、是非題(A88:C88)、填空題(A120:C122)和問(wèn)答題(A179:A182),其中:A67、A88、B121和B181單元格分別用于學(xué)生輸入答案(單選題:大小寫A、B、C、D字母之一;是非題:√或×;填空題和問(wèn)答題:直接輸入答案);C67、C88、B122和B182單元格則用于放置參考答案。
為了保證學(xué)生在輸入填空題與問(wèn)答題的答案和調(diào)用相應(yīng)參考答案時(shí),各單元格內(nèi)容能自動(dòng)換行,應(yīng)選中各答案與參考答案單元格執(zhí)行“格式/單元格”命令,再選中“對(duì)齊”選項(xiàng)卡的“自動(dòng)換行”復(fù)選框;為了防止學(xué)生誤將答案輸入到題目單元格中,應(yīng)選中各答案單元格,執(zhí)行“格式/單元格”命令,取消“保護(hù)”選項(xiàng)卡中“鎖定”選中狀態(tài);執(zhí)行“工具/保護(hù)/保護(hù)工作表”命令;參考答案單元格的鎖定狀態(tài)通過(guò)程序設(shè)置。
二、基于窗體的自測(cè)練習(xí)與試卷的編制
圖2給出了基于窗體的典型單選題(B37:D41)、是非題(A101:D102)、填空題(A114:C116)和問(wèn)答題(A192:A194),其中:?jiǎn)芜x題采用“選項(xiàng)按鈕”窗體,通過(guò)“分組框”窗體把各題分別框在一起形成組;是非題采用“組合框”窗體實(shí)現(xiàn);填空題、問(wèn)答題和參考答案的實(shí)現(xiàn)方法同于“表格法”。
在C78:C79各單元格中分別輸入空格、“正確”和“錯(cuò)誤”,用于是非題組合框窗體的選項(xiàng)數(shù)據(jù)源。
依次右擊各個(gè)窗體,選擇“設(shè)置控件格式”命令。對(duì)于單選題:選中“控制”選項(xiàng)卡的“未選擇”單選鈕,并設(shè)置同一單選題各“選擇按鈕”窗體的“單元格鏈接”對(duì)應(yīng)答案參數(shù)為單元格($D$37);對(duì)于是非題,在“控制”選項(xiàng)卡中設(shè)置“數(shù)據(jù)源區(qū)域”($C$78:$C$80)、單元格鏈接($C$101)、下拉顯示項(xiàng)數(shù)(3)。其余處理同“表格法”。
最后選中C列,執(zhí)行“格式/列/隱藏”命令隱藏C列單元。
三、基于控件的自測(cè)練習(xí)與試卷的編制
圖3給出了基于控件的典型單選題(B25:C29)、是非題(A102:C103)、填空題(A128:C130)和問(wèn)答題(A195:A197),其中:?jiǎn)芜x題采用“選項(xiàng)按鈕”控件實(shí)現(xiàn),并取相同的GroupName屬性(1~4)使不同題的單選鈕互不干擾;是非題采用“組合框”控件實(shí)現(xiàn);填空題和問(wèn)答題均采用“文本框”控件實(shí)現(xiàn),參考答案的實(shí)現(xiàn)方法同于“表格法”。
為了保證學(xué)生在輸入填空題與問(wèn)答題的答案時(shí),相應(yīng)文本框內(nèi)容能多行顯示并自動(dòng)換行,應(yīng)設(shè)置相應(yīng)文本框?qū)傩詤?shù)“MultiLine”和“WordWrap”的值均為“True”。
四、窗體按鈕及其對(duì)應(yīng)的宏
基于表格和基于窗體的自測(cè)練習(xí)與試卷均采用窗體“按鈕”(見圖4)。
各“窗體按鈕”對(duì)應(yīng)宏的編制方法基本相同:執(zhí)行“工具/宏/錄制新宏”命令,錄制有關(guān)操作;執(zhí)行“工具/宏/Visual Basic編輯器”命令,在“模塊1”(對(duì)應(yīng)“表格法”)和“模塊2”(對(duì)應(yīng)“窗體法”)中修改相應(yīng)的宏名和對(duì)應(yīng)的宏語(yǔ)句;依次右擊“窗體按鈕”,執(zhí)行“指定宏”命令在彈出的對(duì)話框中選擇相應(yīng)的宏名。
(一)“基于表格的試題”工作表“獲取參考答案”按鈕對(duì)應(yīng)“獲取參考答案1”宏的錄制與修改
錄制宏時(shí)的操作如下:⑴在“基于表格的試卷”工作表中執(zhí)行“工具/保護(hù)/保護(hù)工作表”命令(只選中彈出對(duì)話框中的“選定未鎖定的單元格”復(fù)選框),按住Ctrl鍵選擇全部參考答案單元格,執(zhí)行“格式/單元格”命令,取消“鎖定”狀態(tài);⑵選擇“參考答案”工作表的G2單元格(存有第1單選題參考答案),執(zhí)行“編輯/復(fù)制”命令;⑶選擇“基于表格的試卷”工作表的C7單元格(用于放置第1單選題參考答案),執(zhí)行“編輯/粘貼”命令;⑷采用與⑶和⑷步驟類似的操作,復(fù)制和粘貼其他各個(gè)參考答案;⑸依次單擊“D1”、“C5”單元格。
為了提高程序執(zhí)行效率,采用循環(huán)語(yǔ)句修改獲取單選題和是非題參考答案的復(fù)制與粘貼語(yǔ)句,獲取“單選題”參考答案的典型代碼如下:
For i = 2 To 15
Sheets("參考答案").Select
Range("G" & i).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("基于表格的試卷").Select
Range("C" & i + 5 * (i - 1) - (i - 2)).Select
ActiveSheet.Paste
Next i
(二)“基于表格的試題”工作表“清除參考答案”按鈕對(duì)應(yīng)“清除參考答案1”宏的錄制
錄制宏時(shí)的操作如下:⑴在“基于表格的試卷”工作表中執(zhí)行“工具/保護(hù)/撤消工作表保護(hù)”命令,按住Ctrl鍵選擇全部參考答案單元格,單擊“Del”鍵,然后執(zhí)行“格式/單元格”命令,設(shè)置“鎖定”狀態(tài);⑵執(zhí)行“工具/保護(hù)/保護(hù)工作表”命令(只選中彈出對(duì)話框中的“選定未鎖定的單元格”復(fù)選框);⑶依次單擊“D1”、“C5”單元格。
(三)“基于表格的試題”和“基于窗體的試題”工作表其余按鈕對(duì)應(yīng)宏的錄制
類似上述操作。需要指出:對(duì)于“基于窗體的試題”工作表,當(dāng)學(xué)生選擇單選題和是非題的窗體后,其答案參數(shù)還將自動(dòng)顯示在窗體鏈接的單元格中,對(duì)于單選題(“選擇按鈕”窗體),其五個(gè)選項(xiàng)(未選、A、B、C、D)對(duì)應(yīng)的答案參數(shù)分別為0、1、2、3、4;對(duì)于是非題(“組合框”窗體),其三個(gè)選項(xiàng)(空白、正確、錯(cuò)誤)對(duì)應(yīng)的答案參數(shù)分別為1、2、3。因此,清除答案時(shí)應(yīng)將各“選擇按鈕”和“組合框”窗體鏈接的“答案參數(shù)”單元格的值分別設(shè)置為0和1。
五、控件按鈕及其對(duì)應(yīng)的典型VBA程序
(一)“獲取參考答案”和“清除參考答案”按鈕單擊事件程序的編制思路
“獲取參考答案”按鈕單擊事件中涉及工作表保護(hù)與單元格鎖定的代碼可以復(fù)制相應(yīng)的宏代碼得到。由“參考答案”工作表向“基于控件的試卷”工作表復(fù)制參考答案的典型語(yǔ)句如下:
'獲取“單選題”參考答案
For i = 2 To 15
Sheets("基于控件的試卷").Cells(i + 5 * (i - 1) - i