摘要:VBA 作為一種新一代的標(biāo)準(zhǔn)宏語言,具有跨越多種應(yīng)用軟件并且具有控制應(yīng)用軟件對象的能力,該文基于EXCEL VBA設(shè)計自動出題系統(tǒng),使教師只需利用EXCEL表能輕松建立題庫及隨機抽題功能,提高了工作效率。
關(guān)鍵詞:EXCEL VBA;抽題題庫
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2015)15-0056-02
Microsoft Office Excel是目前辦公軟件電子表格處理最流行的軟件之一,它簡單易學(xué)實用性強,數(shù)據(jù)處理功能強大受到廣大民眾的喜愛,作為老師,模擬試題、練習(xí)等組卷是教學(xué)常規(guī)工作,手工組卷工作量很大,如何能省時省力呢?利用EXCEL宏的VBA功能,還能編寫實用性強的應(yīng)用程序,對于沒有計算機知識的老師使用起來也不是問題,本文所設(shè)計的自動抽題系統(tǒng)設(shè)計解決了試題庫建設(shè)及抽題自動組卷功能,讓老師的組卷工作效率提高。
1 系統(tǒng)分析
小學(xué)教師教學(xué)任務(wù)重,經(jīng)常需要出題進行一天一練等組卷工作,本系統(tǒng)針對小學(xué)數(shù)學(xué)練習(xí)或考試,讓教師輕松組卷。系統(tǒng)分別設(shè)計試卷生成工作表,另外每種題型分別對應(yīng)一張工作表,表中錄入對應(yīng)的題庫信息,題庫類型有:填空題、判斷題、選擇題、計算題、解決問題,其中計算題再設(shè)置四個小題:口算題、列豎式計算、脫式計算、列式計算。
1.1 系統(tǒng)功能實現(xiàn)
新建一個EXCEL工作簿,本系統(tǒng)共有10個工作表,分別命名為“試卷”、“題型數(shù)量”、“填空題”、“判斷題”、“選擇題”、“口算題”、“列豎式計算”、“脫式計算”、“列式計算”、“解決問題”,“試卷”工作表中設(shè)計兩個按鈕,可以根據(jù)需要分別生成“WORD試卷”、“生成EXCEL試卷”;“題型數(shù)量”工作表中只輸入兩列內(nèi)容,分別是“題型”、“數(shù)量”,輸入試卷設(shè)置的題型及各題型數(shù)量即可。其他各題型工作表中分別輸入“序號”、“題目”、“標(biāo)志”3列內(nèi)容,其中“標(biāo)志”列用“*”號表示,用來記錄已抽取過的題目,可以在練習(xí)時避免重復(fù)抽題。
1.2 VBA關(guān)鍵技術(shù)
1.2.1 VBA特點
Visual Basic For Application(VBA)是微軟開發(fā)出來的應(yīng)用程序共享一種通用的自動化語言,可以認(rèn)為VBA是非常流行的應(yīng)用程序開發(fā)語言VISUAL BASIC 的子集,實際上VBA是寄生于VB應(yīng)用程序的版本。
VBA具有開發(fā)速度快、完整的開發(fā)文檔以及實例、知識的繼承、窗體制作的效率高、與應(yīng)用軟件有很好的接口等特點而受到廣大電腦愛好者的喜愛。有了VBA 以后,多種應(yīng)用程序共用一種宏語言,節(jié)省了程序人員的學(xué)習(xí)時間,提高了不同應(yīng)用軟件間的相互開發(fā)和調(diào)用能力。
1.2.2 關(guān)鍵技術(shù)
1)Application對象是Excel對象模型中最高層級的對象,代表Excel應(yīng)用程序自身,也包含組成工作簿的許多部分,包括工作簿、工作表、單元格集合以及它們包含的數(shù)據(jù)。如Application的DisplayAlerts屬性表示屏蔽提示信息而保存工作表。
2)Worksheets工作表對象,該對象的下一級對象是Range對象。Range對象可以是某個單元格、某一行某一列或者多個相鄰或不相鄰單元格區(qū)域?qū)ο?。Cell屬性可以引用某個單元格,Cells(I,J)就表示第i行、J列處的單元格。
Rows.Count 當(dāng)前活動工作表的行數(shù),Cells(Rows.Count,1)定位到第一列的最后一行cell。Range.End 屬性是返回一個range對象,End屬性返回的單元格就相當(dāng)于在源單元格按住Ctrl鍵+上(或下、左、右)方向鍵所得到的單元格,XlToLeft :向左移動,相當(dāng)于在源區(qū)域按Ctrl+左方向鍵;XlToRight:向右移動,相當(dāng)于在源區(qū)域按Ctrl+右方向鍵;XlUp:向上移動,相當(dāng)于在源區(qū)域按Ctrl+上方向鍵;XlDown:向下移動,相當(dāng)于在源區(qū)域按Ctrl+下方向鍵。如END(XLUP)等同于END MODE下+UP鍵或CTRL+UP。
3)Offset屬性,可以以初始值所設(shè)定的單元格區(qū)域為起點來相對移動任意的行或列,從而定位到新的單元格區(qū)域。
4)RESIZE屬性可以讓用戶能夠基于當(dāng)前活動單元格修改區(qū)域大小,還可以根據(jù)需要創(chuàng)建一個新的區(qū)域。
5)UBOUND():返回數(shù)組的指示維度的最大值。
2 代碼實現(xiàn)
1)生成試卷模塊
2)如果希望生成WORD文檔試卷,那么可以在“生成試卷”模塊修改,增加調(diào)用“生成WORD試卷”過程。
3 結(jié)束語
EXCEL是目前最流行應(yīng)用最廣泛的軟件之一,對于計算機專業(yè)知識了解較少的老師使用也沒有障礙,隨時可以使用,本系統(tǒng)能實現(xiàn)輕松組卷功能,教師只需建設(shè)充實各類型題庫,就可以隨心所欲地生成EXCEL或WORD格式的卷子,提高了教師的工作效率,因本系統(tǒng)只針對中小學(xué)生試卷使用,基本上是筆試為主,所以還未考慮在線考試時間控制。
參考文獻:
[1] 王凡帆.基于EXCEL VBA的自動生成試卷系統(tǒng)設(shè)計[J]. 電腦知識與技術(shù), 2010(4).
[2] 蔣勇.基于EXCEL VBA的計算機理論知識無紙化考試系統(tǒng)設(shè)計[J]. 軟件導(dǎo)刊, 2012(2).
[3] 李萍. 基于 ExcelVBA 實現(xiàn)自動成績分析的實踐[J]. 中國教育信息化, 2014(1).