基于VBA組卷中自動排版的實現(xiàn)
導讀:建立完善的題庫是課程建設的一項重要工作,當數(shù)據(jù)庫的形式進行題庫管理,通過編寫抽題程序,在分類明確、題量豐富的題庫支持下,實現(xiàn)自動組卷并非難事。試卷一般都采用Word文檔,若采用VBA編程,要用程序?qū)⒃囶}寫入到Word文檔,可以通過引用 Microsoft Word 9.0 Object Library中的相關對象來實現(xiàn):圖片、圖形、文本框及藝術字等可利用Shapes集合對象的相應方法加入到文檔中!
一、引言
建立完善的題庫是課程建設的一項重要工作,當數(shù)據(jù)庫的形式進行題庫管理,通過編寫抽題程序,在分類明確、題量豐富的題庫支持下,實現(xiàn)自動組卷并非難事。試卷一般都采用Word文檔,若采用VBA編程,要用程序?qū)⒃囶}寫入到Word文檔,可以通過引用 Microsoft Word 9.0 Object Library中的相關對象來實現(xiàn):圖片、圖形、文本框及藝術字等可利用Shapes集合對象的相應方法加入到文檔中;表格也可以通過Tables集合對象的Add 方法加入,其大小、位置等排版信息都可以以參數(shù)的形式傳入;而文字部分的內(nèi)容也能以字符串的形式通過調(diào)用Content對象的InsertAfter方法插入,排版時對其字型、字體、字號及段落格式則可以利用Font對象及Paragraph對象的屬性或方式進行設置。
選擇題是各類試卷中經(jīng)常出現(xiàn)的題型,而它的排版有其特殊性,因為選擇題的四個選項根據(jù)其長度有可能排成四段(行),也可能排成兩行,每行兩個選項,且它對段落縮進及上、下行中選項的對齊等都有一定的要求。
這里要解決的幾個問題是:
1.題干部分的題號對齊,尤其是一位數(shù)題號與兩位數(shù)題號(如第9題與第10題);前、后題題干內(nèi)容的第一個字符對齊;題干部分作為段落要采用懸掛縮進、且縮進量應合適。
2.若選項由四段(行)構(gòu)成,則每段應有左縮進、縮進量與題干部分的懸掛縮進量相同,同時,選項內(nèi)容的長度也有可以超過一行(如第10題中的選項C),所以對選項也要設置懸掛縮進、且縮進量應合適。
3.若選項由兩行構(gòu)成(如第11題中的四個選項),則上一行的選項C與下一行的選項D應對齊。
二、定義選擇題的數(shù)據(jù)結(jié)構(gòu)
程序設計中為了便于將選擇題作為函數(shù)的參數(shù)傳遞,應定義選擇題的數(shù)據(jù)類型的結(jié)構(gòu),選擇題的結(jié)構(gòu)通常由題干及四個選項構(gòu)成,具體定義如下:
Public Type Choice
Sentence As String '題干內(nèi)容,不包括題號
ChoiceA As String '選項A的內(nèi)容
ChoiceB As String '選項B的內(nèi)容
ChoiceC As String '選項C的內(nèi)容
ChoiceD As String '選項D的內(nèi)容
End Type
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |