吳新剛
摘要 在實踐的基礎上提出利用VSTO實現Office操作技能水平自動評測的方法,給出Office操作題的存儲結構和具體的評測方案與算法實現。
關鍵詞 Office;自動評測;VSTO
中圖分類號:TP317.1 文獻標識碼: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解決方案的開發都是使用VBA(Visual Basic for Applications)和ActiveX,但是由于它們在用戶界面、部署和安全性等方面的限制,Microsoft公司提出新的開發技術:基于.NET Framework的VSTO。VSTO是Visual Studio Tools for the Microsoft Office System的縮寫。簡單地說,VSTO就是將Microsoft Office Professional 2003和Microsoft Visual Studio.NET結合起來的新型工具,也可以說VSTO是VBA技術的.NET平臺化。VSTO是Visual Studio.NET的一個插件,使用Visual Studio.NET的開發環境,這使得VB.NET或C#的開發人員可以在其熟悉的編程環境下編寫基于Office的解決方案。VSTO運行的是由CLR管理的托管代碼,同VBA管理的非托管代碼比較,VSTO的解決方案具有更高的安全性和更豐富的部署模式。VSTO讓程序設計者可以用Visual Studio來定制Office應用程序,可以使用.NET Framework的所有安全特性。總之,VSTO就是一個強大的、靈活的安全模型。


2 Office操作題存儲結構設計
Office操作題的存儲結構是整個自動評測方法的基礎,是對技能水平自動評分的關鍵。本方案中的存儲結構(以Excel為例)如表1所示。

考點的描述采用“標記名|考核點”的格式,在每個Excel考題中要求進行操作的位置,事先已利用VSTO的SmartTag在初始化文檔和答案文檔中都設置一個名稱相同的隱藏智能標記,這些智能標記是在出題時由出題人員設定的。Excel文檔的操作對象主要為單個單元格/單元格區域、行、列、邊框、底紋、字體、圖表、工作表圖表。以字體為例,其考核的知識點包含字體、字號、加粗、傾斜、下標、上標、刪除線、下劃線、陰影、顏色。
3 基于VSTO的自動評測方案
同利用VBA創建Office解決方案相比,基于VSTO的Office解決方案顯得更加快捷和安全。首先,VSTO提供的編程模型擴展了Word和Excel的一些公共對象,這些對象已具備數據綁定的能力。VSTO編程模型背后的理念是把數據及其表現形式分離開來,不用在文檔里查找顯示這些數據的對象,就可以直接訪問存儲在數據源里的數據。VSTO提供的數據緩存功能無需在服務器上運行Word和Excel,就可以直接訪問文檔里的數據。其次,在VSTO中為Word和Excel創建智能標記更簡單,使用提供的SmartTag類可以通過指定要識別的術語(term)和識別出來術語時要執行的操作(action)。在安全和部署方面,VSTO使用.NET Framework的代碼訪問安全功能(Code Access Security,CAS),通過諸如代碼的位置、代碼是否經過簽名以及管理員所設置的權限等標準來判斷代碼是否安全。下面以Excel操作題的自動評測為例,給出利用VSTO的自動評測方案。
3.1 命題流程設計如圖1、圖2所示,為了實現自動評測,出題人員需根據題目要求將相應的標準答案文檔(doc、xls)上傳至數據庫中。在出題的過程中出題人員可以選擇考核的知識點,操作類函數將根據出題人員選定的考核知識點,在初始化文檔和答案文檔中設置一個名稱相同的智能標記,該標記是評測的依據。

3.2 評測流程設計如圖3所示,1)根據試題號,讀取“標記名|考核點”信息;2)調用相應類的方法,依據“標記名|考核點”,在考生作答文件的智能標記位置獲取對象模型及其屬性值;3)按照每個考核知識點將考生文件與標準答案文件逐一比較;4)標準文檔和考生作答文檔中考核對象的屬性若相同,則記該考核項相應分值,若不同,則記0分。
參考文獻
[1]楊杰.VSTO-.NET平臺下嶄新的MS Office開發技術[J].黑龍江科技信息,2008(02):40
[2]McGrath K,Stubbs P.VSTO開發者指南[M].李永倫,譯.北京:機械工業出版社,2009
[3]劉廷,劉帆.ASP.NET開發實例完全剖析[M].北京:中國電力出版社,2006
[4]趙玉.基于ASP.NET的在線考試系統的設計與實現[D].長春:東北師范大學,2007