• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Excel VBA在對(duì)口中職招生考試中的應(yīng)用

      2014-10-20 08:36:28廖明梅舒清錄
      微型電腦應(yīng)用 2014年7期
      關(guān)鍵詞:窗體標(biāo)準(zhǔn)答案單元格

      廖明梅,舒清錄

      0 引言

      對(duì)口中職招生作為考生升學(xué)考試、學(xué)校選拔優(yōu)秀人才的重要途徑,是一個(gè)非常嚴(yán)肅的工作。其中試題編制與評(píng)分是一項(xiàng)重要活動(dòng),需兼顧考試是否方便、數(shù)據(jù)是否安全以及改卷效率是否高等多方面的因素[1,2,3]。綜合考慮,采用電子化考試是一個(gè)不錯(cuò)的選擇。在常規(guī)做法中,購買成熟的考試系統(tǒng),成本較高。自己選擇開發(fā)語言、數(shù)據(jù)庫,然后編制軟件,完成軟件部署、測(cè)試等,在技術(shù)、時(shí)間等方面有一定要求,實(shí)現(xiàn)有一定難度。有沒有一種部署簡(jiǎn)單、控制方便的系統(tǒng)?

      答案就是MS Office Excel(以下簡(jiǎn)稱Excel)。Excel是一個(gè)功能強(qiáng)大、技術(shù)先進(jìn)、使用方便的表格式數(shù)據(jù)綜合管理和分析系統(tǒng),其本身就是一個(gè)數(shù)據(jù)庫。VBA編程語言使Excel更是如虎添翼,使VBA讀取Excel數(shù)據(jù)更方便,而且程序的設(shè)計(jì)更簡(jiǎn)單。在部署方面,只要求目標(biāo)機(jī)器安裝Office相應(yīng)版本,無需安裝其他組件,然后考試文件復(fù)制到目標(biāo)機(jī)器就可以使用,大大方便操作使用[4,5,6]。

      1 平臺(tái)需求

      平臺(tái)主要需求如下:

      (1)界面友好,用戶登錄時(shí)首先看到考試說明;

      (2)限制考試答題位置和規(guī)定答題選項(xiàng),盡可能保證考生答題規(guī)范[7];

      (3)能方便、有限制地查看成績(jī);

      (4)較高的安全性,盡可能保證代碼和標(biāo)準(zhǔn)答案的安全。

      2 平臺(tái)實(shí)現(xiàn)

      2.1 Excel前端設(shè)計(jì)

      此Excel平臺(tái)共涉及3個(gè)工作表,分別用于完成考試說明、試題顯示/答題、標(biāo)準(zhǔn)答案界面的設(shè)計(jì)。實(shí)現(xiàn)了試題與標(biāo)準(zhǔn)答案分開存放[8],提高了數(shù)據(jù)的安全性。3個(gè)表的相關(guān)屬性如表1所示:

      表1 工作表屬性

      (1)“考試說明”工作表設(shè)計(jì)

      在考試說明工作表中,合理使用Excel提供的藝術(shù)字加合適的字體修飾標(biāo)題,為了防止目標(biāo)機(jī)器因字體原因而無法顯示設(shè)計(jì)效果,采用對(duì)藝術(shù)字部分進(jìn)行截圖。

      設(shè)置了一個(gè)“進(jìn)入考試”的圖形按鈕,當(dāng)用戶閱讀考試說明后,點(diǎn)擊進(jìn)入考試試題工作表,開始答題,效果如圖1所示:

      圖1 考試說明工作表界面

      (2)“考試試題”工作表設(shè)計(jì)

      設(shè)置一個(gè)名為“對(duì)口中職計(jì)算機(jī)類招考考試試題”標(biāo)題,因試題量較大,把標(biāo)題行設(shè)置為凍結(jié)窗體。

      采用數(shù)據(jù)有效性限制用戶只能在一定范圍內(nèi)輸入/選擇,盡可能地減少考生輸入錯(cuò)誤[9,10]。涉及的3種題型具體設(shè)置如下:

      對(duì)于單項(xiàng)選擇,只能從“A”,“B”,“C”,“D”中選擇一個(gè);

      對(duì)于多項(xiàng)選擇題,每題限制 4個(gè)選項(xiàng),則按順序把ABCD所有組合列出來供選,即“AB”,“ABC”,“ABD”,“ABCD”,“AC”,“ACD”,“AD”,“BC”,“BCD”,“BD”以及“CD”;

      對(duì)于判斷題,只能從“對(duì)”,“錯(cuò)”中選一個(gè)。

      具體做法,對(duì)于單選題,選中要設(shè)置有效性的區(qū)域,單擊“數(shù)據(jù)”功能頁下的“數(shù)據(jù)有效性”按鈕,在彈出對(duì)話框的“有效性條件”中選擇“序列”,來源輸入“A,B,C,D”確定即可,其他題型類似。

      規(guī)定可編輯區(qū)域,劃出供考生答題的區(qū)域,其他地方不允許考試點(diǎn)擊、操作[11,12]。具體做法為,選中答題區(qū)域,點(diǎn)擊“右鍵”,選擇“設(shè)置單元格格式”,在彈出的對(duì)話框中選擇“保護(hù)”選項(xiàng)卡,把“鎖定”前的勾去掉,在配合工作表的保護(hù)即可生效。

      添加一個(gè)“查看成績(jī)”按鈕,主要用戶改卷教師查看成績(jī)。為了能使該按鈕被有限制地使用,在顯示成績(jī)之前必須進(jìn)行身份驗(yàn)證,效果如圖2所示:

      圖2 考試試題工作表界面

      (3)“標(biāo)準(zhǔn)答案”工作表設(shè)計(jì)

      此工作表是整個(gè)平臺(tái)的核心,數(shù)據(jù)的安全問題不容小視,為了更加安全保存數(shù)據(jù),從下列兩方面來加強(qiáng)數(shù)據(jù)的安全性。

      一是充分利用Excel的大容量,把數(shù)據(jù)放在比較隱蔽的地方(比如把答案寫在EZL1014567:EZN1014645區(qū)域內(nèi))。在Excel 2010中,一個(gè)工作表有1048576行16384列,對(duì)標(biāo)準(zhǔn)答案的隱藏起到了很好的保護(hù)作用,即使有人想知道答案,在不知道工作表名的情況下,難度大大增加了。所以在特定的考試環(huán)境下,采用Excel工作表存放標(biāo)準(zhǔn)答案是有意義的,也是可行的。

      二是通過VBE設(shè)置工作表的Visible屬性,使考生無法通過取消隱藏來顯示此表。做法是按Alt+F11快捷鍵,在左側(cè)窗格上部首先選中需要保護(hù)的工作表,通過其屬性面板的Visible屬性設(shè)置為“2-xlSheetVeryHidden”,再保存。

      利用 Excel提供的 IF函數(shù)來計(jì)算每題的得分。例如Sheet2!C3為考生答案單元格,M3為標(biāo)準(zhǔn)答案單元格,則此題的評(píng)分規(guī)則為:

      IF(Sheet2!C3="",0,IF(Sheet2!C3=M3,2,0)),即沒有填寫考試答案則0分,考生答案和標(biāo)準(zhǔn)答案相同,則得2分,否則的0分。

      SUM 函數(shù)來實(shí)現(xiàn)總分進(jìn)行統(tǒng)計(jì),用 SUM(N:N)求出得分列所有小題得分之和。

      把以上所有工作表設(shè)計(jì)好之后,把每個(gè)工作表的網(wǎng)格線、編輯欄、標(biāo)題去掉,再進(jìn)行工作表保護(hù)。

      2.2 VBA控制

      通過3.1只是把平臺(tái)的基本框架完成,基本能實(shí)現(xiàn)答題,但看成績(jī)較為麻煩。先要把隱藏工作表的隱藏屬性設(shè)置為顯示,最后,找到存儲(chǔ)總分的單元格。操作步驟多且繁瑣,容易出錯(cuò),所以利用宏代碼直接讀出指定單元格值并顯示出來就顯得很有必要。圍繞此問題,該平臺(tái)共設(shè)置了以下幾個(gè)宏和一個(gè)用戶窗體。

      (1)ShowSheet宏

      點(diǎn)擊“考試說明”工作表的“進(jìn)入考試”按鈕,調(diào)用此宏,作用是顯示“試題顯示”工作表。宏代碼為“Sheets("考試說明").Activate”。

      (2)HideRibbon宏

      為了使考試操作簡(jiǎn)單,避免考生到處點(diǎn)擊發(fā)生意外情況,增加了平臺(tái)的安全性,采用禁用功能區(qū),使考生能直接操作的功能按鈕大大減少。涉及的宏代碼為[13-15]:

      此宏在Workbook的Open事件中被調(diào)用。

      (3)SaveDocument宏

      禁用功能區(qū),導(dǎo)致了考生無法通過點(diǎn)擊保存按鈕來實(shí)現(xiàn)修改內(nèi)容的保存,對(duì)不習(xí)慣使用Ctrl+s組合鍵來保存的考生來說,是一件痛苦的事情。為了解決此問題,除了考試說明中明確提示外,還采用VBA代碼來實(shí)現(xiàn)Excel定時(shí)自動(dòng)保存。

      實(shí)現(xiàn)思路:在Workbook的Open事件中,以當(dāng)前時(shí)間為準(zhǔn),10秒后,通過Application.OnTime DTime自動(dòng)調(diào)用SaveDocument過程。而SaveDocument

      過程主要完成:當(dāng)ThisWorkbook.saved為假時(shí),則調(diào)用ThisWorkbook.Save保存,以當(dāng)前時(shí)間為準(zhǔn),10秒后再次調(diào)用自己。如此反復(fù)就可以實(shí)現(xiàn)定時(shí)自動(dòng)保存。核心代碼如下:

      (4)UserFormPassword

      此窗體主要完成對(duì)用戶身份信息的驗(yàn)證,如果用戶輸入正確的密碼,則調(diào)用ShowScore宏顯示成績(jī),否則關(guān)閉本窗口。

      為了防止用戶點(diǎn)擊窗體的關(guān)閉按鈕導(dǎo)致意外情況,使用FindWindow( )等API函數(shù)禁用關(guān)閉按鈕[16,17],使用戶只能點(diǎn)擊窗體指定的“確定”按鈕來控制。核心代碼如下:

      (5)showUFPassword宏

      此宏主要用于顯示身份驗(yàn)證的用戶界面。被sheet2表的“查看考試成績(jī)”按鈕執(zhí)行,屬于以正常方式進(jìn)行查分的情況。其實(shí)現(xiàn)代碼如下:

      Flag = 1 注釋:確認(rèn)是以正常方式進(jìn)行查分的情況UserFormPassword.Show 1 注釋:模態(tài)方式打開身份驗(yàn)證窗體

      (6)ShowScore宏

      當(dāng)用戶點(diǎn)擊“查看考試成績(jī)”時(shí),系統(tǒng)應(yīng)該會(huì)自動(dòng)彈出一個(gè)對(duì)話框,要求驗(yàn)證身份。最初考慮使用 InputBox函數(shù)來實(shí)現(xiàn),但發(fā)現(xiàn)其輸入的密碼以明文顯示,效果不好。經(jīng)分析,最后決定使用密碼文本框和確定按鈕的用戶窗體(也就是前面提及的UserFormPass word窗體)。當(dāng)用戶輸入正確密碼后,自動(dòng)調(diào)用自定義過程,從Excel工作表指定單元格中讀出相應(yīng)成績(jī),并使用MsgBox函數(shù)顯示各題得分以及總分,然后關(guān)閉窗體。部分實(shí)現(xiàn)代碼如下:

      (7)保護(hù)代碼

      按Alt+F11組合鍵進(jìn)入VBE界面,點(diǎn)擊“工具”菜單下的“VBAProject屬性”,在彈出的對(duì)話框中選擇“保護(hù)”選項(xiàng)卡,輸入想設(shè)置的密碼即可。

      3 安全問題

      在此平臺(tái)中,數(shù)據(jù)安全是一個(gè)核心問題,特別是標(biāo)準(zhǔn)答案、總分決不能被不授權(quán)人員看到,否則考試就失去了意義。通過前面幾步,一個(gè)較為合理的評(píng)分平臺(tái)基本實(shí)現(xiàn)了。但在平臺(tái)測(cè)試過程中,模擬考生試圖通過查看后臺(tái)代碼來獲取成績(jī)等相關(guān)信息,發(fā)現(xiàn)了一些問題。按Alt+F11組合鍵,點(diǎn)擊代碼,彈出一個(gè)VBA工程密碼框,因沒有密碼,點(diǎn)擊“取消”按鈕,雖然看不到 VBA代碼,但可以通過菜單或 F5按鈕逐個(gè)運(yùn)行宏列表里的宏名稱,最終也可以看到考生成績(jī),暴露出嚴(yán)重的安全隱患。

      為了解決此問題,定義了一個(gè)名為 Flag的全局軟標(biāo)志進(jìn)行處理。具體為,如果是正常進(jìn)入(點(diǎn)擊Excel界面上的查看成績(jī)按鈕或運(yùn)行showUFPassword宏)查看成績(jī)的Flag設(shè)為1,其他情況設(shè)置為0。正常看完成績(jī)后,又把Flag設(shè)為0,下次想看成績(jī)又必須以正常方式進(jìn)入。

      對(duì)于ShowScore宏,在查看具體成績(jī)之前,首先判斷是否以正常方式進(jìn)入(通過 Flag來判斷),如果是(Flag=1)則直接讀出存放成績(jī)的單元格,否則彈出用戶身份驗(yàn)證窗口,對(duì)身份進(jìn)行驗(yàn)證。這樣就能保證,不管以何種方式進(jìn)入,都會(huì)使程序跳轉(zhuǎn)到用戶身份驗(yàn)證窗口,進(jìn)行強(qiáng)制身份驗(yàn)證。

      到此為止,一個(gè)較為安全的評(píng)分平臺(tái)建成。

      4 總結(jié)

      以上基于Excel 2010實(shí)現(xiàn)的中職招考平臺(tái),在過去招生考試實(shí)踐中取得了較好的效果,幾秒鐘就可以完成對(duì)一份考卷140小題的評(píng)分,大大降低了閱卷工作量。當(dāng)然,也有待完善的地方,比如能對(duì)存入Excel工作表的題目,結(jié)合Excel的隨機(jī)函數(shù),在試題總量不變的情況下,打亂題目的顯示順序,評(píng)分后把所有的成績(jī)和考生信息對(duì)應(yīng)地匯總到一個(gè)格式化文件中就更加實(shí)用了。

      [1]李花,張偉娜.用Excel設(shè)計(jì)標(biāo)準(zhǔn)化試卷的自動(dòng)判卷系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化.2012.1

      [2]羅翠瓊.基于Excel的自動(dòng)閱卷評(píng)分系統(tǒng)[J].電腦知識(shí)與技術(shù).2013.09

      [3]劉雁.基于Excel VBA的通用客觀題自我訓(xùn)練工具的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī).2013.09

      [4]郝晗瀚,康慕寧.Excel操作題自動(dòng)出題系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化.2013.12

      [5]羅剛君.Excel VBA程序開發(fā)自學(xué)寶典[M].北京:電子工業(yè)出版社,2011.

      [6]李花,郭建璞.用VBA程序保護(hù)Excel文件[J].計(jì)算機(jī)與現(xiàn)代化.2013.9.

      [7]安曉梅.Office 2007寶典[M].北京:人民郵電出版社,2008.

      [8]張穎.基于 Excel構(gòu)建計(jì)算機(jī)考試系統(tǒng)[J].電子制作.2013.12.

      [9]Excel Home.Excel VBA實(shí)戰(zhàn)技巧精粹[M].北京:人民郵電出版社,2013.

      [10]韓小良.Excel VBA活用范例大辭典(第2版)[M].中國鐵道出版社,2011.

      [11]唐燕,韓愛慶,翟興.基于VBA技術(shù)實(shí)現(xiàn)調(diào)查問卷數(shù)據(jù)自動(dòng)讀取[J].計(jì)算機(jī)與現(xiàn)代化.2014.3

      [12]舒清錄,廖明梅.Excel電子自動(dòng)評(píng)分系統(tǒng)構(gòu)建的研究與實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào).2011-02-01

      [13]張寧.用Excel制作試卷必須解決的幾個(gè)問題[J].計(jì)算機(jī)時(shí)代.2013年第3期

      [14]Microsoft Inc.Excel對(duì)象模型概述[DB/OL].http://msdn.microsoft.com/zh-cn/library/wss56b z7.aspx,2013-07-11.

      [15]韓小良.Excel VBA高效辦公實(shí)用寶典(第1版)[M].中國鐵道出版社,2009.

      [16][16]李政,王月,鄭月鋒等.VBA 應(yīng)用基礎(chǔ)與實(shí)例教程(第2版)—上機(jī)實(shí)驗(yàn)指導(dǎo)[M].國防工業(yè)出版社,2009.

      [17]王東明,葛武滇.Visual C#.NET程序設(shè)計(jì)與應(yīng)用開發(fā)[M].北京:清華大學(xué)出版社,2008:18.

      猜你喜歡
      窗體標(biāo)準(zhǔn)答案單元格
      吃飯喝水傷身體?吃飯喝湯養(yǎng)生?快看看協(xié)和醫(yī)院的標(biāo)準(zhǔn)答案
      祝您健康(2024年4期)2024-04-08 16:18:08
      玩轉(zhuǎn)方格
      玩轉(zhuǎn)方格
      李耀進(jìn):沒有標(biāo)準(zhǔn)答案,唯有用心用情
      中國民政(2019年12期)2020-01-02 09:12:04
      試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應(yīng)用
      檔案天地(2019年5期)2019-06-12 05:12:02
      丟失了標(biāo)準(zhǔn)答案
      淺談Excel中常見統(tǒng)計(jì)個(gè)數(shù)函數(shù)的用法
      西部皮革(2018年6期)2018-05-07 06:41:07
      標(biāo)準(zhǔn)答案的反思
      基于LayeredWindow的異形窗體局部刷新
      中文信息(2014年2期)2014-03-06 23:49:14
      巧設(shè)WPS窗體控件讓表格填寫更規(guī)范
      鄂州市| 靖州| 蓝山县| 邯郸县| 灵石县| 利辛县| 岗巴县| 罗甸县| 宜阳县| 鲜城| 屏南县| 田阳县| 延吉市| 镇赉县| 通城县| 万全县| 渝中区| 寿阳县| 嫩江县| 黄梅县| 工布江达县| 谢通门县| 盐边县| 克东县| 尼玛县| 同仁县| 岐山县| 尤溪县| 大石桥市| 施甸县| 监利县| 乐清市| 临高县| 色达县| 万盛区| 丹东市| 沁源县| 库尔勒市| 巨鹿县| 丘北县| 浏阳市|