999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Excel VBA考試試題設計與評分方法研究

2015-04-29 00:59:18賈志先
智能計算機與應用 2015年1期

摘 要:在Excel VBA課程考試軟件開發中,如何從Excel文件中獲取考生操作的窗體對象和宏代碼,是操作題評分中的一個關鍵性問題。到目前為止,有關Excel VBA課程的考試軟件開發和評分方法研究方面的文獻報道尚不多見。利用VBE及其子對象的屬性和方法,可以測試Excel VBA工程中的窗體和控件對象的屬性和事件代碼,以及模塊中的宏代碼。給出了基本操作題、程序改錯題和程序填空題這三種題型的試題和答案設計的示例。考試結果表明,使用VBE對象來獲取考生操作的窗體對象和宏代碼,很好地解決了Excel VBA考試系統中操作題的計算機評分問題。

關鍵詞: VBA; 操作題;試題設計; 評分方法

中圖分類號:TP311.1 文獻標識碼:A 文章編號:2095-2163(2015)01-

Abstract: In the software development process of Excel VBA examination, there is a key problem how to obtain the form object and macro code from the Excel file which examinee operates in the examination. So far, it is rarely for the literature on the development of software and the method of scoring in the examination of Excel VBA courses. In Excel VBA project, the properties and event code of form and controls, and the macro code in module can be tested by using the properties and methods of VBE object and its sub objects. In this article, three design examples of examination questions and answers, namely, basic operation question, modify the program and fill in the blanks in the program are given. The results show that it is a good solution to the computer scoring problem of exam questions in the Excel VBA by using the VBE object to obtain form object and macro code.

Key Words: VBA; Operation Question; Design of Examination Question; Method of Scoring

0 引 言

VBA (Visual Basic for Applications)是基于Visual Basic發展而來的一種宏語言[1-4]。VBA集成在Office組件之中,是Microsoft Visual Basic的應用程序版本。VBA的出現,使Office形成了一個獨立的編程環境。應用VBA執行OLE可以擴展Windows的應用軟件功能,特別是Microsoft Office軟件。在許多應用程序中,都嵌入了VBA作為開發工具。運用和掌握VBA不僅可以實現高效辦公,并且可以循序漸進地掌握一門編程語言,為以后學習計算機語言奠定堅實基礎[5-7]。近年來,在國內一些高校中,開設了VBA的計算機課程。到目前為止,有關VBA課程的考試軟件開發和評分方法研究方面的文獻報道尚不多見。

在VBA課程考試軟件開發中,如何從Excel文件中獲取考生操作的窗體對象和宏代碼,是操作題評分中的一個關鍵性問題。在已有的考試軟件基礎上[8],經過深入地研究,開發了一個Excel VBA的考試系統。采用Microsoft Visual Studio 2010作為開發平臺,應用VBE對象來獲取考生操作的窗體對象和宏代碼,從而在考試系統中實現了VBA客觀題和操作題的計算機評分。

1 VBE對象

在Excel中,VBE(Visual Basic Editor)是VBA的編輯窗口,所有的VBA操作都可在VBE中完成。VBE及其子對象的結構,如圖1所示[4]。

在圖1中,橢圓框表示對象,矩形框表示集合。

Excel VBA考試操作題的評分,主要用到以下VBE及子對象的方法和屬性:

(1)VBE對象:VBE為根對象,具體包含了所有其它可在Visual Basic for Applications中表示的對象和集合。可用VBProjects集合訪問VBA工程的集合。

(2)VBProject對象:VBProject對象表示一個工程。可用VBProject對象設置工程的屬性、訪問VBComponents集合以及References集合。

(3)VBComponent對象:VBComponent對象表示一個包含在工程中的部件,例如類模塊或標準模塊。使用VBComponent對象,可以訪問與部件關聯的代碼或改變部件的屬性設置。使用VBComponent對象的Type屬性,可以確定出所引用的部件類型;而使用VBComponent對象的Collection屬性,則可以確定出所引用的部件在哪個集合中。VBComponent對象的Type屬性設置,如表1所示。

(4)CodeModule對象:CodeModule是代碼模塊對象,在諸如窗體、類或文檔等部件之后表示程序代碼。應用CodeModule對象相關聯的屬性和方法,能夠操作并返回有關逐行代碼文本的信息。CodeModule對象的主要屬性有:

① CountOfLines屬性,返回代碼模塊中的總行數;

② Lines屬性,返回代碼模塊中指定的代碼塊。其格式為:.Lines(startline, count);

③ CountOfDeclarationLines屬性,返回代碼模塊中公共聲明部分的行數;

④ ProcBodyLine屬性,返回模塊中一個過程的起始行數。其格式為:.ProcBodyLine(procname, vbext_pk_Proc);

⑤ ProcCountLines屬性,返回模塊中一個過程的行數。其格式為:. ProcCountLines(procname, vbext_pk_Proc)。

(5)Property對象:Property對象,用來描述一個對象的屬性。可用Property對象的Value屬性來返回或設置一個部件的屬性值。

利用VBE及其子對象的屬性和方法,可以測試Excel VBA工程中的窗體屬性,窗體中的控件對象的過程代碼以及模塊中的宏代碼。因此,可以利用VBE及子對象的方法和屬性實現對Excel VBA操作題的評分。

2 VBA 考試試題設計

在Excel VBA考試系統中,考試試題包括理論題和操作題。理論題為客觀題,評分比較容易實現。操作題的題型有:基本操作題、程序改錯題、程序填空題和編程題。與大多數考試軟件一樣,編程題的評分采用黑盒測試法,根據程序的運行結果,給出相應的分數。基本操作題、程序改錯題和程序填空題,需要利用VBE及其子對象的屬性和方法獲取考生操作的窗體對象和宏代碼進行評分。

為了實現計算機的自動評分,需要對試題進行標準化。下面,給出基本操作題、程序改錯題和程序填空題這三種題型的試題和答案的設計示例。

2.1基本操作題

設計基本操作題的主要目的是為了測試考生對窗體操作和簡單VBA語句的掌握程度。利用VBE及其子對象的屬性和方法,可以檢測Excel VBA工程中窗體和控件對象的屬性和事件代碼,并通過對屬性和事件代碼的檢測,實現對考生的控件掌握程度的測試。

試題1:

打開考試文件夾下的工作簿“Test1.xlsm”,并在該工作簿的窗體--UserForm1中完成以下操作:

(1)將窗體--UserForm1的標題改為“信息查詢”;

(2)將窗體--UserForm1的"Height"屬性設置成200,"Width"屬性設置成270;

(3)在窗體--UserForm1中添加一個命令按鈕“CommandButton1”,并將CommandButton1的標題設置為"測試",字體設置為“楷體”;

(4)在CommandButton1的Click過程中,輸入以下代碼:

MsgBox "這是我建立的命令按鈕", vbInformation, "VBA考試"

注意:完成以上操作后,請保存文件;

不能刪除窗體--UserForm1或更改窗體--UserForm1的對象名。

在以上答案中,CheckType=1,表示檢測窗體屬性;CheckType=2,表示檢測窗體中控件的屬性;CheckType=3,表示檢測控件的事件代碼。SimilarAnswers表示相同答案的個數。ScorePoint表示給分點的個數。Score表示該測試點的分值。

2.2程序改錯題

設計程序改錯題的主要目的是為了測試考生對VBA語句和語法的掌握程度。在程序改錯題中,一般可設置2~4處錯誤。為了降低考試的難度,在出錯的語句處給出相應的標示。通常情況下,改錯題的答案不是唯一的,可能有多個答案,在答案中應盡可能給出所有可能的答案。

試題2:

打開考試文件夾下的工作簿“Test2.xlsm”,在該工作簿的模塊--模塊1中有一段程序代碼。功能為:檢測檔案歸還是否逾期。若借閱時間+期限>=歸還時間,則為按時歸還,否則為逾期。其中有三個錯誤行。

2.3程序填空題

與程序改錯題一樣,設計程序填空題的主要目的是為了測試考生對VBA語句和語法的掌握程度。在程序填空題中,一般可設置2~4個空,為了降低考試的難度,在有空的語句處給出相應的標示。通常情況下,程序填空題的答案不是唯一的,可能有多個答案,在答案中應盡可能給出所有可能的答案。

試題3:

打開考試文件夾下的工作簿“Test3.xlsm”,在該工作簿中有一個窗體-- UserForm1,其功能是查詢并顯示Sheet1中相應產品的名稱及庫存量。

請完善OK_Click、Cancel_Click過程中的代碼。在窗體UserForm1中,實現利用下拉列表框ComboBox1選擇相應的產品編號,單擊“查詢”按鈕后,在標簽Lname和LNum上顯示Sheet1中相應產品的名稱及庫存量;單擊“取消”按鈕后,窗體消失[5]。具體如圖3所示。

為了評分程序的正常運行,需要通過修改注冊表,開啟“信任對VBA工程對象模型的訪問”。

在程序改錯題和程序填空題中,考生的答案具有多種多樣,存在著不一致(inconsistent)或不確定(uncertain)的問題[9]。對試題進行合理地設計,是減少評分難度的一個主要方面,答案應該選擇相對確定和唯一[10]。

在考生答題的結果中,可能會出現一些多余的字符,例如,空格,注釋等,另外存在英文字符的大小寫與試題答案不一致等問題。在評分之前,需要對考生的答案進行規格化處理[10]。

4 結束語

試題設計與評分方法是考試系統中的關鍵問題。要根據考試的目的和要求,設計評分算法,同時根據計算機考試和評分的特點設計試題,這樣才能使計算機考試優于傳統的考試。通過考試系統的開發和應用,表明使用VBE對象來獲取考生操作的窗體對象和宏代碼,可以很好地解決Excel VBA考試系統中操作題的計算機評分問題。

參考文獻:

[1] John Walkenbach. Excel 2010 Power Programming with VBA [M]. Wiley publishing, Inc., Indianapolis, Indiana, 2010

[2] Bill Jelen, Tracy Syrstad. VBA and Macros: Microsoft Excel 2010 [M]. Que Corporation, U.S., 2010.

[3] Microsoft公司. Microsoft Visual Basic for Applications and Shared Libraries Reference與共享庫參考手冊(上下)[M]. 北京:希望電子出版社, 1999.

[4] David Shank等著. Microsoft Office 2000 Visual Basic Programmer's Guide 程序員指南[M]. 北京:希望電子出版社, 1999.

[5] 《Excel VBA從入門到精通》編委會. Excel VBA從入門到精通[M]. 北京: 中國鐵道出版社, 2013.

[6] 馬維峰. Excel VBA應用開發從基礎到實踐[M]. 北京:電子工業出版社, 2006.

[7] 王鴻儒. Excel VBA程序設計[M]. 北京:中國鐵道出版社, 2005.

[8] 賈志先. 計算機文化基礎考試系統的開發與應用[J]. 計算機應用, 2001,21(7):60-61.

[9] R.Reiter. A logic for default reasoning [J]. Artificial Intelligence, 1980, 13(1&2):81-132.

[10] 賈志先. 基于邏輯推理的計算機試題評卷算法研究[J]. 智能計算機與應用, 2014, 4(4):47-49,53.

主站蜘蛛池模板: 熟妇丰满人妻| 亚洲美女视频一区| 五月婷婷精品| 六月婷婷激情综合| 亚洲中文字幕无码爆乳| 99久久精品免费观看国产| 日本高清有码人妻| 久久人午夜亚洲精品无码区| 精品国产成人a在线观看| 天天操天天噜| 婷婷六月综合网| 国产精品福利一区二区久久| 日韩成人午夜| 色男人的天堂久久综合| 538国产视频| 日韩最新中文字幕| 久久99这里精品8国产| 亚洲国产精品美女| 在线五月婷婷| 丝袜亚洲综合| 99久视频| 丁香婷婷综合激情| 91国语视频| 又黄又爽视频好爽视频| 99热精品久久| 国产永久免费视频m3u8| 9999在线视频| 久久精品中文字幕免费| 久久五月视频| 精品超清无码视频在线观看| 天堂岛国av无码免费无禁网站 | 亚洲香蕉在线| 二级毛片免费观看全程| a国产精品| 啪啪国产视频| 亚洲欧美日韩成人高清在线一区| 国产日韩欧美在线播放| 欧美另类图片视频无弹跳第一页| 激情综合五月网| 看国产毛片| a级高清毛片| 超碰色了色| 中文无码毛片又爽又刺激| 国产一区成人| 激情综合网激情综合| 亚洲成人黄色在线观看| 中文字幕伦视频| 久久这里只有精品8| 中文国产成人久久精品小说| 久久综合九九亚洲一区| 国内精品视频| 97在线碰| 亚洲三级网站| 国产精品浪潮Av| 国产一区二区网站| 久草中文网| 99热这里只有精品免费国产| 最新精品久久精品| 国产真实二区一区在线亚洲| 婷婷综合缴情亚洲五月伊| 色综合成人| 99视频在线精品免费观看6| 天天色综网| 国产精品99在线观看| 国产乱人伦偷精品视频AAA| 色老二精品视频在线观看| 久久国产乱子伦视频无卡顿| 国产十八禁在线观看免费| 亚洲精品视频免费| 黑色丝袜高跟国产在线91| 日本欧美成人免费| 日本手机在线视频| 噜噜噜久久| 国产香蕉在线| 天堂av高清一区二区三区| 青青操国产视频| 成人另类稀缺在线观看| 欧美高清视频一区二区三区| 啪啪啪亚洲无码| 熟女成人国产精品视频| 草逼视频国产| 全部免费特黄特色大片视频|