摘 要:文章為PowerPoint文檔的計算機自動閱卷功能提供了一個切實可行的方案,就設計過程中的兩個關鍵問題:PowerPoint考點分類及如何查詢、獲取考生操作的VBA屬性值進行了闡述,并結合具體應用示例,闡述了有關編程細節。
關鍵詞:自動閱卷 VBA PowerPoint
1 引言
在信息技術飛速發展的時代,“計算機信息處理技術”如同“高等數學”、“大學物理”一樣,已成為高等學校普遍開設的公共基礎課。在該類課程中,上機實踐是非常重要的環節,同樣期末的操作考試地位也是卷面考試所無法替代的,這就為廣大教授這類課程的教師帶來了一個關鍵問題——如何快速又準確地完成對操作結果的批閱。許多學校都想到了開發計算機自動閱卷系統,但由于Word、Excel、PowerPoint等軟件對應的文檔的信息量巨大、內部結構非常復雜,實現對這些操作題的自動閱卷一直是系統設計中的一個難點,令許多開發者望而卻步。筆者以我校自行開發的計算機應用能力上機考核閱卷系統為例,為PowerPoint文檔的計算機自動閱卷功能提供了一個切實可行的方案。
2 設計原理
對于操作類的題目,達到目的的途徑不是唯一的,在閱卷的時候,我們只要考慮考生操作的結果是否正確就可以了,而無需考慮實現途徑及操作順序等問題。所以,自動閱卷系統的主要任務就是完成考生答案與標準答案的比較工作,然后給出相應的得分。但不同的題型對閱卷系統在比較內容和比較方法上提出了不同的要求,應采用不同的方法加以處理。Word、Excel、PowerPoint操作題的答卷是Office文檔,其文檔結構相對復雜,文檔內部不是簡單的線性數據流結構,而是一種有序的層次結構,實質上是一種適應OLE技術的多流文件和復合文檔文件,多流文件一般包括數據信息流、表格信息流、對象信息流以及有關控制信息流等等。PowerPoint文檔(.ppt)也是以OLE復合文檔文件的模式標準來存放的,數據流通常包含:
(1)當前使用者信息,保存著最近打開文檔的用戶名;
(2)PowerPoint文檔信息,保存著所有有關版面設計、版面內容和有關文件的陳述信息;
(3)圖片,包含有在文件中出現的所有圖片的數據;
(4)摘要信息和文檔摘要信息,主要含有一些有關文件的統計數據。
實際應用中,我們往往希望從文檔的內碼入手對文檔進行相應處理。而自動閱卷系統在閱卷時也正是通過對文檔內碼進行鑒別,客觀公正地給出評分結果的。
3 設計中的兩個關鍵問題
3.1 考點的分類及編號
在實現系統設計過程中,首先以PowerPoint文檔為闡述對象,將PowerPoint具體操作進行分類,并且對每一個具體操作進行編號,這是實現系統設計的基礎。依據我校計算機應用能力上機考核題庫,可以把PowerPoint操作考點分成幻燈片基本操作、幻燈片修飾、幻燈片放映和幻燈片對象操作四大類,每一類別下面還可細分為很多子類,針對每一類及它的子類,進行分類編號。
3.2 獲取考點所對應的對象或屬性名稱
PowerPoint操作考點雖然有了,但能否實現某一個操作或項目的自動閱卷則取決于能否獲得與此相關的屬性信息。對Office與Visual Basic熟悉的人都知道宏與VBA等這些名稱。不管是宏還是VBA,都是使用Visual Basic的一個子集對Office文檔進行操作或者獲取Office文檔中的屬性信息。我們正是利用VBA技術來對這些操作文檔進行分析,從中獲取評分所需要的文檔的各種屬性信息,從而實現評分與自動閱卷。在具體使用中常采用以下兩種方法來獲得所需的對象或屬性名稱:
(1)使用PowerPoint的宏
使用該方法,可以解決絕大多數PowerPoint對象及屬性的訪問方法。具體方法是:進入Microsoft PowerPoint系統,使用“錄制新宏”的功能進入宏錄制狀態,然后操作一遍需要研究的某一個具體操作,最后關閉宏錄制。進入“宏編輯”狀態,就可以從宏的程序(visual Basic語言)了解到該操作所對應的對象及屬性訪問的方式。使用宏的方法研究PowerPoint的對象、屬性是比較直觀與簡單的,但也有一些缺點,主要是一些操作不易錄制宏,或者有時獲得的結果不能直接用于指導閱卷程序的編制。
(2)使用PowerPoint Basic的幫助系統
PowerPoint中提供了一個非常詳細的對象模型與屬性的使用說明。這個使用說明需要在宏編輯器中才能打開。具體進入方法為:先進入Power-Point的“Visual Basic編輯器”,然后進入該編輯器的“幫助”——這是VBA的幫助系統,進入“Microsoft PowerPoint Visual Basic參考”,該參考中有“事件”、“方法”、“對象”、“屬性”等四個方面。該幫助系統可以幫助開發者了解與掌握PowerPoint對象的整體模型與處理方法,是實現PowerPoint自動閱卷最好的參考資料。事實上,這個幫助系統有一個單獨的文件Vbappt8.hlp或者Vbappt9.chm,直接打開這個文件就可以進入PowerPoint Basic的幫助系統了。
根據以上兩種方法就可以得出所有考點其對應的PowerPoint VBA對象和屬性的值,列出對應表,例如:

有了這張對應表,就可以實現對PowerPoint 對象屬性值的判斷,這也正是自動閱卷所需要的最重要的信息。
4 設計實例
自動閱卷系統采用了在VBA 中編寫完代碼,調試通過之后,再使用VB 來進行編程的方法。PowerPoint 中最上層的對象是Application, 即PowerPoint應用程序,接下來就是對象Presentation——演示文稿,下面是對象Slide——幻燈片,Slide 的下一層就是Shape——繪圖層中的對象,這也是最主要的判斷對象。對PowerPoint 對象的訪問必須根據“由上往下逐層訪問”的原則。
5 結束語
筆者就我校計算機上機考核的自動閱卷系統,介紹了PowerPoint文檔自動閱卷功能的實現方案。當然,計算機上機操作結果的自動閱卷是一個范圍非常廣泛的課題,涉及系統的許多方面,另外,針對不同的考核要求在設計細節上可能也會存在一些差異。
參考文獻:
[1] 詹國華,姚爭為,張量.PowerPoint文檔自動閱卷功能的實現[J].計算機工程與應用,2002-06.
[2] 駱紅波,李舟軍,金炳堯,馬永進.PowerPoint 文檔對象分析與自動閱卷的實現[J].計算機與現代化,2006-02.
[3] 唐洪彬.Word、Excel 自動閱卷系統的設計與實現[J].宿州教育學院學報,2004-7.
[4] 姚利國,姚暉.計算機基礎考試中Office操作題自動閱卷的實現[J].四川教育學院學報,2003-12.
[5] 張量,詹國華.開放式、智能化計算機考核閱卷系統的設計與實踐[J].計算機工程與應用,2001-10.