陳莉 徐芳
摘要摘要:使用 Excel原始試題庫文件,嵌入VBA編程,生成的TXT文件用于保存符合要求的試題格式,實現(xiàn)了網(wǎng)絡教學平臺批量輸入試題格式的轉換,提高了工作效率。
關鍵詞關鍵詞:VBA;Excel;試題庫
0 引言
軍隊網(wǎng)絡教學平臺集課程內(nèi)容、教學資源管理和考試系統(tǒng)為一體,通過該平臺可以進行一系列教學活動。例如教員可以設計網(wǎng)絡課程供學員進行自主學習,還可以錄入試題進行考試,實現(xiàn)學習效果評價。試題錄入工作中發(fā)現(xiàn),雖然系統(tǒng)提供了批量試題錄入方式,但由于錄入時需按照規(guī)定的格式,在一定程度上不能自動批量錄入,限制了試題庫錄入的效率。針對此問題,本文提出了基于VBA編程[1]的網(wǎng)絡教學試題庫批量錄入方法,通過對原始 Excel試題庫文件進行VBA編程,實現(xiàn)了試題格式的轉換和網(wǎng)絡教學試題庫批量錄入,大大提高了試題錄入效率。
1試題添加方式
網(wǎng)絡教學平臺考試模塊的子模塊“試題管理”是其核心和基礎,通過“試題管理”可對課程章節(jié)添加各種類型試題,也可根據(jù)需要刪除和修改,從中抽取若干試題組成考試試卷。
試題管理模塊設置了添加試題方式:單個添加和批量添加。對于單個添加,采用如圖1所示的方式,教員從平臺一個個輸入,題干和答案都要通過輸入框輸入,每次輸入完一道試題后都要點擊“確定”按鈕,額外增加了輸入時間,影響效率。
系統(tǒng)提供了另一種試題添加方式:批量添加,如圖2所示。批量添加可從批量添加框中一次性輸入多個試題。然而,系統(tǒng)規(guī)定了單選、多選和判斷題等的特定格式,格式規(guī)定和具體示例如圖3所示。填空題格式與其它類型試題格式略有不同,圖4展示了其一般格式和具體示例,一般試題都難以符合此格式?!队嬎銠C基礎與操作》課程的許多試題都可以通過網(wǎng)絡下載得到,一般格式為 Excel和Word類型,但這些試題都不是上述要求的試題格式。如果用手動方式,依次將試題修正為所需要的格式,無疑會花費大量的時間。
2基于VBA編程實現(xiàn)批量試題格式轉換
2.1 Excel文件原始試題格式
使用微軟開發(fā)的應用程序Visual Basic for Application(VBA)[2]可以編制出令Office自動的程序,對Office進行二次開發(fā)[3],完成自動化處理Office應用文檔功能,減少用戶的重復操作。Internet上有很多關于《計算機基礎與應用》課程的試題,可充分利用網(wǎng)絡資源。網(wǎng)上下載的試題有很大部分是 Excel文件,經(jīng)過簡單處理后成為如圖5所示的格式, Excel基于VBA編程,使程序自動按照格式要求完成從原始試題到“批量添加”試題需要的格式轉換。不同類型的試題編程不同,以實現(xiàn)正確的格式轉換[4]。
2.2基于VBA編程的各類試題格式轉換
在打開 Excel試題文件后,按【Alt+F11】進入VBE編程環(huán)境,使用“插入/模塊”菜單命令插入模塊,在模塊中定義一個過程,該過程實現(xiàn)格式的轉換輸出。
以下語句獲得當前所有試題所占行數(shù),前提是試題所在區(qū)域沒有空行。
單選題的格式轉換:首先輸出“#”和試題類型信息,使用VBA語句從原始 Excel試題文件中分別讀取A、B、C、D四個選項內(nèi)容,并在每個選項內(nèi)容前面加上各自的選項符號和點號。如果某一選項是正確的選項,則還需要在前面加上“*”;最后按照輸出指定的格式到新建的TXT文件中[5],難度系數(shù)和章節(jié)號先省略,因為此兩項需要人為設置,核心程序如下:
判斷題的格式轉換和單選題的格式轉換是類似的,都是使用VBA語句從原始 Excel試題文件中讀取答案單元格中的內(nèi)容,根據(jù)內(nèi)容在正確的答案前加上格式所要求的*號。
多選題的格式轉換,與單選題和判斷題的不同之處是對放置答案的單元格處理,要判斷選項是否在答案中,如果在,則在正確的選項前加“*”。以選項A的判斷為例:使用Mid函數(shù),Mid(Cells(i,7),k,1)表示從Cells(i,7)(即存放答案的單元格內(nèi)容)中的第k位開始取1個字符,也就是從第1個字符開始遍尋存放答案的單元格內(nèi)容,如果有字符是A或a,則選項A為其中一個正確的答案,在該選項內(nèi)容前加上表示正確答案的“*”,其它答案選項處理類似,其核心程序段如下:
按格式輸出TXT文件,與單選題操作類似,此處省略具體語句。
填空題格式轉換與其它格式都不同,題干中需要填的空是由若干個“_”字符連在一起的,需要轉換的格式是把需要填空的空用“{答案}”替換。
首先獲取填空題原始題目中用于填空的“_”的個數(shù)numberof_,使用mid函數(shù)依次取number of_個字符,判斷其是否等于number of_個連續(xù)的字符串,如果是,則使用Replace函數(shù)把{答案}替換number of_個連續(xù)的字符串,最后按照要求的格式輸出到TXT文件中?;赩BA的填空題格式批量轉換代碼如下:
2.3對窗體按鈕指定編制的宏
模塊編寫調(diào)試成功后,最后一步是對窗體按鈕指定宏,單擊菜單“視圖”/“工具欄”/“窗體”勾選,在文件的空白區(qū)域畫出按鈕后就可以指定宏了[6],把編好的模塊過程指定給該按鈕,單擊該按鈕就可以輸出符合批量輸入試題的格式。
2.4格式轉換應用
當指定編制完成后,單擊按鈕,就可以把原始的 Excel文件中的試題格式轉換為符合軍隊網(wǎng)絡教學平臺要求的批量輸入試題格式,將其存儲到TXT文件中,把TXT文件中的內(nèi)容復制,粘貼到試題批量添加輸入框中,如圖2所示。單擊“確定”按鈕就可以實現(xiàn)試題自動批量錄入。
3結語
在原始的 Excel試題文件基礎上,嵌入了VBA編程,通過程序完成了批量輸入試題的格式轉換,大大提高了試題管理效率。在軍隊網(wǎng)絡教學平臺《計算機基礎與操作》網(wǎng)絡課程試題庫錄入中采用該方法,只需幾個簡單的按鈕操作就可以完成,提高了工作效率。雖然本文是針對軍隊網(wǎng)絡教學平臺設計的,但對于其它平臺的操作也有借鑒意義。
參考文獻參考文獻:
[1]林海寧.基于VBA技術的 Excel自動評閱系統(tǒng)[J].現(xiàn)代計算機,2012 (21):7880.
[2]何小松.通用試題庫管理系統(tǒng)的開發(fā)與研究[J].淮南師范學院學報,2003,5(19):5051.
[3]劉銘.基于VBA對 Excel 2007二次開發(fā)應用研究[J].現(xiàn)代電子技術,2010,33(10):5558.
[4]耿霞,王志軍,宋維.自學考試命題及自動排版系統(tǒng)的設計與實現(xiàn)[J].中國教育信息化,2007 (21):4143.
[5]伍云輝.完全手冊 Excel VBA典型實例大全 [M].北京:電子工業(yè)出版社,2008:446459.
[6]韋立梅.使用Excel VBA管理工資資料[J].電腦與電信,2013 (6):7075.
責任編輯(責任編輯:杜能鋼)