吳新剛
摘要 在實踐的基礎(chǔ)上提出利用VSTO實現(xiàn)Office操作技能水平自動評測的方法,給出Office操作題的存儲結(jié)構(gòu)和具體的評測方案與算法實現(xiàn)。
關(guān)鍵詞 Office;自動評測;VSTO
中圖分類號:TP317.1 文獻(xiàn)標(biāo)識碼:B 文章編號:1671-489X(2009)33-0077-02
Automatic Evaluating Method for Office Operating Skills based on VSTO//Wu Xingang
Abstract In practice, it provides a new automatic evaluating method for office operating skills based on VSTO; gives the storage structure and specific programs and algorithms.
Key words Office; automatic evaluating; VSTO
Authors address Dept. of Education Technology, Nanjing Normal University, Nanjing, 210097, China
1 VSTO簡介
長期以來,Office解決方案的開發(fā)都是使用VBA(Visual Basic for Applications)和ActiveX,但是由于它們在用戶界面、部署和安全性等方面的限制,Microsoft公司提出新的開發(fā)技術(shù):基于.NET Framework的VSTO。VSTO是Visual Studio Tools for the Microsoft Office System的縮寫。簡單地說,VSTO就是將Microsoft Office Professional 2003和Microsoft Visual Studio.NET結(jié)合起來的新型工具,也可以說VSTO是VBA技術(shù)的.NET平臺化。VSTO是Visual Studio.NET的一個插件,使用Visual Studio.NET的開發(fā)環(huán)境,這使得VB.NET或C#的開發(fā)人員可以在其熟悉的編程環(huán)境下編寫基于Office的解決方案。VSTO運行的是由CLR管理的托管代碼,同VBA管理的非托管代碼比較,VSTO的解決方案具有更高的安全性和更豐富的部署模式。VSTO讓程序設(shè)計者可以用Visual Studio來定制Office應(yīng)用程序,可以使用.NET Framework的所有安全特性??傊?VSTO就是一個強(qiáng)大的、靈活的安全模型。
2 Office操作題存儲結(jié)構(gòu)設(shè)計
Office操作題的存儲結(jié)構(gòu)是整個自動評測方法的基礎(chǔ),是對技能水平自動評分的關(guān)鍵。本方案中的存儲結(jié)構(gòu)(以Excel為例)如表1所示。
考點的描述采用“標(biāo)記名|考核點”的格式,在每個Excel考題中要求進(jìn)行操作的位置,事先已利用VSTO的SmartTag在初始化文檔和答案文檔中都設(shè)置一個名稱相同的隱藏智能標(biāo)記,這些智能標(biāo)記是在出題時由出題人員設(shè)定的。Excel文檔的操作對象主要為單個單元格/單元格區(qū)域、行、列、邊框、底紋、字體、圖表、工作表圖表。以字體為例,其考核的知識點包含字體、字號、加粗、傾斜、下標(biāo)、上標(biāo)、刪除線、下劃線、陰影、顏色。
3 基于VSTO的自動評測方案
同利用VBA創(chuàng)建Office解決方案相比,基于VSTO的Office解決方案顯得更加快捷和安全。首先,VSTO提供的編程模型擴(kuò)展了Word和Excel的一些公共對象,這些對象已具備數(shù)據(jù)綁定的能力。VSTO編程模型背后的理念是把數(shù)據(jù)及其表現(xiàn)形式分離開來,不用在文檔里查找顯示這些數(shù)據(jù)的對象,就可以直接訪問存儲在數(shù)據(jù)源里的數(shù)據(jù)。VSTO提供的數(shù)據(jù)緩存功能無需在服務(wù)器上運行Word和Excel,就可以直接訪問文檔里的數(shù)據(jù)。其次,在VSTO中為Word和Excel創(chuàng)建智能標(biāo)記更簡單,使用提供的SmartTag類可以通過指定要識別的術(shù)語(term)和識別出來術(shù)語時要執(zhí)行的操作(action)。在安全和部署方面,VSTO使用.NET Framework的代碼訪問安全功能(Code Access Security,CAS),通過諸如代碼的位置、代碼是否經(jīng)過簽名以及管理員所設(shè)置的權(quán)限等標(biāo)準(zhǔn)來判斷代碼是否安全。下面以Excel操作題的自動評測為例,給出利用VSTO的自動評測方案。
3.1 命題流程設(shè)計如圖1、圖2所示,為了實現(xiàn)自動評測,出題人員需根據(jù)題目要求將相應(yīng)的標(biāo)準(zhǔn)答案文檔(doc、xls)上傳至數(shù)據(jù)庫中。在出題的過程中出題人員可以選擇考核的知識點,操作類函數(shù)將根據(jù)出題人員選定的考核知識點,在初始化文檔和答案文檔中設(shè)置一個名稱相同的智能標(biāo)記,該標(biāo)記是評測的依據(jù)。
3.2 評測流程設(shè)計如圖3所示,1)根據(jù)試題號,讀取“標(biāo)記名|考核點”信息;2)調(diào)用相應(yīng)類的方法,依據(jù)“標(biāo)記名|考核點”,在考生作答文件的智能標(biāo)記位置獲取對象模型及其屬性值;3)按照每個考核知識點將考生文件與標(biāo)準(zhǔn)答案文件逐一比較;4)標(biāo)準(zhǔn)文檔和考生作答文檔中考核對象的屬性若相同,則記該考核項相應(yīng)分值,若不同,則記0分。
參考文獻(xiàn)
[1]楊杰.VSTO-.NET平臺下嶄新的MS Office開發(fā)技術(shù)[J].黑龍江科技信息,2008(02):40
[2]McGrath K,Stubbs P.VSTO開發(fā)者指南[M].李永倫,譯.北京:機(jī)械工業(yè)出版社,2009
[3]劉廷,劉帆.ASP.NET開發(fā)實例完全剖析[M].北京:中國電力出版社,2006
[4]趙玉.基于ASP.NET的在線考試系統(tǒng)的設(shè)計與實現(xiàn)[D].長春:東北師范大學(xué),2007