国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

word文檔格式自動(dòng)分析方法

2021-06-22 03:32:06張廣梅朱紅梅
電子元器件與信息技術(shù) 2021年3期
關(guān)鍵詞:分析程序文檔對(duì)象

張廣梅,朱紅梅

(山東農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山東 泰安 271000)

0 引言

計(jì)算機(jī)文化基礎(chǔ)是高等教育的基礎(chǔ)課程[1]。Office辦公自動(dòng)化軟件的使用是計(jì)算機(jī)文化基礎(chǔ)的重要內(nèi)容之一。為了更有效的對(duì)學(xué)生的學(xué)習(xí)效果進(jìn)行檢查,計(jì)算機(jī)文化基礎(chǔ)的考試應(yīng)經(jīng)采用無紙化的考試方式進(jìn)行。針對(duì)office軟件的特點(diǎn),在考試過程中,通常都是給出排版要求,學(xué)生根據(jù)排版要求對(duì)指定的文檔進(jìn)行排版,最后提交排版之后的文檔。通常情況下,教師根據(jù)排版要求對(duì)學(xué)生提交的文檔進(jìn)行人工檢查。這樣做不僅工作量大,而且由于每個(gè)教師的評(píng)分尺度不同,無法客觀公正地對(duì)學(xué)生的學(xué)習(xí)效果進(jìn)行評(píng)價(jià)。為解決這一問題,很有必要開發(fā)office文檔的自動(dòng)分析系統(tǒng)[2-3],一方面可以大大降低教師的閱卷工作量;同時(shí)可以有效地避免因評(píng)分尺度不同所造成的學(xué)生成績(jī)的差異。本文以wod文檔為例,對(duì)word文檔自動(dòng)分析程序中所涉及的相關(guān)問題進(jìn)行了討論。

1 word文檔格式自動(dòng)分析基礎(chǔ)

1.1 Word對(duì)象模型

Word文檔編輯過程中所涉及的每一項(xiàng)內(nèi)容都是一個(gè)對(duì)象,這些對(duì)象的相互關(guān)聯(lián)組成了Word中的對(duì)象模型[4]。也就是說,在Word文檔中,文檔、對(duì)話框、文本框、圖形、圖表甚至應(yīng)用程序本身都是對(duì)象[5],同時(shí),這些對(duì)象都有自己的屬性和方法,因此,可通過程序來訪問word文檔中的這些對(duì)象,完成文檔格式的自動(dòng)分析。

1.2 常見的VBA對(duì)象及其屬性分析

1.2.1 利用font對(duì)象獲取文字的排版格式

Font對(duì)象代表指定對(duì)象的字符格式。在對(duì)office文檔進(jìn)行排版的過程中,經(jīng)常需要對(duì)指定的文件的格式進(jìn)行設(shè)置。文字格式包括字體、字形、字號(hào)、字體顏色、字符間距等。在word文檔進(jìn)行分析時(shí),要獲取文字的字體設(shè)置信息可以通過讀取Font對(duì)象的相關(guān)屬性完成。表1對(duì)Font 對(duì)象的相關(guān)屬性進(jìn)行了介紹。

表1 Font 對(duì)象的相關(guān)屬性

1.2.2 利用ParagraphFormat對(duì)象獲取段落的排版信息

段落排版的相關(guān)信息存儲(chǔ)在Paragraph對(duì)象中。代表整個(gè)WORD文檔的Document對(duì)象具有Paragraphs屬性,它是文檔中所有Paragraph對(duì)象的集合,該集合包含指定文檔、區(qū)域或所選內(nèi)容中的所有段落,該集合中的每一個(gè)元素代表了一個(gè)Paragraph對(duì)象,一個(gè)Paragraph對(duì)象代表了文檔中一個(gè)段落。Paragraph對(duì)象具有format屬性,通過讀寫Paragraph 對(duì)象的format屬性,可以獲取到一個(gè)ParagraphFormat對(duì)象。ParagraphFormat對(duì)象記錄了段落的所有格式信息。表2列出了ParagraphFormat對(duì)象的相關(guān)信息。

表2 ParagraphFormat對(duì)象的部分屬性

1.2.3 利用Font對(duì)象和Sections對(duì)象獲取邊框和底紋的排版信息

邊框和底紋的處理也是在word文檔排版過程中的常用的基本操作。邊框和底紋主要包括文字邊框、文字底紋和頁面邊框。文字的邊框和底紋記錄在Font對(duì)象的相關(guān)屬性中,而頁面邊框記錄在Sections對(duì)象的相關(guān)屬性中。表3列出了記錄相關(guān)排版信息的對(duì)象及屬性。

表3 邊框和底紋的屬性列表

1.2.4 利用TextColumns對(duì)象獲取文檔的分欄信息

分欄設(shè)置的相關(guān)信息可以通過TextColumns對(duì)象獲得。TextColumns對(duì)象是文檔中TextColumn對(duì)象的集合。通過訪問Document.Pagesetup.TextColums 的屬性,可以獲取word文檔中的TextColums的對(duì)象。表4中列出了TextColumn的屬性,通過讀取這些屬性可以獲取相應(yīng)的分欄信息。

表4 分欄的屬性列表

1.2.5 利用Dropcap對(duì)象獲取首字下沉的相關(guān)信息

首字下沉的相關(guān)信息存儲(chǔ)在Dropcap對(duì)象中。Dropcap對(duì)象代表段落中格式為首字下沉的大寫字母。通過訪問文檔對(duì)象的Selection.Paragraphs(i).DropCap的屬性可以獲取文檔中的第i個(gè)段落的實(shí)現(xiàn)首字下沉的Dropcap對(duì)象。表5列出了Dropcap對(duì)象的相關(guān)屬性。

表5 Dropcap對(duì)象的相關(guān)屬性

1.2.6 利用Shape對(duì)象獲取藝術(shù)字格式的相關(guān)信息

藝術(shù)字屬于圖形的一種,藝術(shù)字格式信息存儲(chǔ)在Shape對(duì)中。該對(duì)象可以通過訪問Document對(duì)象的Shapes屬性獲得,Shapes屬性是word文檔中所有Shape對(duì)象的集合,每個(gè)Shape對(duì)象對(duì)應(yīng)一個(gè)圖形。因此,可以通過Document.shapes屬性獲取文檔中的Shape對(duì)象集合。在此基礎(chǔ)上,通過讀取表6列出的屬性,獲取關(guān)于藝術(shù)字的排版信息。

表6 藝術(shù)字的屬性列表

2 文檔排版參數(shù)的自動(dòng)提取

2.1 創(chuàng)建存儲(chǔ)標(biāo)準(zhǔn)答案數(shù)據(jù)庫(kù)

文檔格式的自動(dòng)分析需要分析程序的支持[6]。為達(dá)到自動(dòng)分析的目的,需要根據(jù)文檔的排版要求,需要從標(biāo)準(zhǔn)文檔(標(biāo)準(zhǔn)文檔是指已經(jīng)按照排版要求完成排版操作的文檔)中將文檔的排版參數(shù)提取出來,并以此為依據(jù),用來對(duì)學(xué)生的考試文檔進(jìn)行評(píng)測(cè)。為提高學(xué)生文檔格式自動(dòng)分析的效率,可以先將文檔的排版要求記錄在ACCESS數(shù)據(jù)庫(kù)中,表7類出了關(guān)于字體設(shè)置的相關(guān)信息(針對(duì)其他排版要求的數(shù)據(jù)的存儲(chǔ)方式與下表類似)。

表7 字體信息表

2.2 排版參數(shù)的獲取

2.2.1 排版參數(shù)的設(shè)置

在從標(biāo)準(zhǔn)文檔中提取排版參數(shù)之前,首先要指定需要提取的要素。圖1給出了關(guān)于文檔中文本的字體等相關(guān)排版參數(shù)的選擇的操作界面。

圖1 字體參數(shù)設(shè)置

2.2.2 排版參數(shù)的提取

在設(shè)置好排版參數(shù)之后,接下來就可以從標(biāo)準(zhǔn)文檔中進(jìn)行參數(shù)的提取工作。算法1列出的示例代碼完成排版參數(shù)的提取。

算法1 字體信息提取

Dim t As Microsoft.Office.Interop.Word.Document

t = GetObject(“f:標(biāo)準(zhǔn)答案.doc”)

t.ActiveWindow.Selection.Find.Text = Textbox1.text

If t.ActiveWindow.Selection.Find.Execute() Then

select_name = t.ActiveWindow.Selection.Font.Name

Endif

算法1:給出了相關(guān)文本的字體信息的提取過程。可以參考上述過程完成排版參數(shù)的提取。

2.2.3 排版參數(shù)的存儲(chǔ)

為提高文檔格式自動(dòng)分析的效率,可以將提取到的參數(shù)寫入到標(biāo)準(zhǔn)答案數(shù)據(jù)庫(kù)中,為后續(xù)分析程序的自動(dòng)生成準(zhǔn)備好數(shù)據(jù)[7-8]。算法2中的示例代碼完成了向數(shù)據(jù)庫(kù)中寫入排版參數(shù)的過程。

算法2:排版參數(shù)寫入數(shù)據(jù)庫(kù)

mYpath = “f:文檔ì自動(dòng)分析.accdb”

cONn = CreateObject(“ADODB.Connection”)

cONn.ConnectionString = “Provider=Microsoft.Ace.OleDB.12.0;Data Source=” & mYpath

cONn.ConnectionString = cONn.ConnectionString& “;Jet OLEDB:Database “

cONn.Open()

Sql = “insert into fonts(text_value) values(‘” & texts & “’)”

cONn.Execute(Sql)

3 格式分析文檔的自動(dòng)生成

在提取完格式參數(shù)之后,接下來可以根據(jù)提取到的數(shù)據(jù)生成格式分析程序。格式分析程序包含以下幾個(gè)部分:(1)讀取標(biāo)準(zhǔn)文檔參數(shù)數(shù)據(jù)庫(kù),獲取閱卷參數(shù);(2)利用讀取的閱卷參數(shù),依次分析每個(gè)學(xué)生的答題文檔,根據(jù)分析的結(jié)果計(jì)算每個(gè)知識(shí)點(diǎn)的得分,將每個(gè)同學(xué)的得分情況寫入得分?jǐn)?shù)據(jù)庫(kù)中;重復(fù)執(zhí)行(2),直到分析完所有學(xué)生的文檔。下面對(duì)文檔分析程序中的關(guān)鍵問題進(jìn)行討論。

3.1 讀取閱卷參數(shù)

對(duì)office 文檔的閱卷操作就是檢查學(xué)生有無按照要求完成排版操作。根據(jù)前面的介紹,在對(duì)標(biāo)準(zhǔn)文檔進(jìn)行分析時(shí),已經(jīng)將相應(yīng)的排版信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,因此在閱卷之前,需要讀取ACESS數(shù)據(jù)庫(kù)中存儲(chǔ)的閱卷參數(shù),以此來指導(dǎo)閱卷工作。算法3中的示例代碼展示了讀取ACEESS中的數(shù)據(jù)庫(kù)的過程。

算法3:訪問ACESS數(shù)據(jù)庫(kù)

Dim con As New OleDbConnection

Dim cmd As New OleDbCommand

Dim dr As OleDbDataReader

con.ConnectionString=“Provider=Microsoft.Ace.OleDB.12.0;Data Source=”& mYpath

con.Open()

cmd.Connection = con

cmd.CommandText = Sql

dr = cmd.ExecuteReader()

Dim col As Integer

col= dr.GetOrdinal(“fontname”)

text = dr.GetValue(col)

3.2 生成word文檔格式分析代碼

為完成學(xué)生試卷的自動(dòng)分析,必須將要生成的格式分析代碼以文件的形式進(jìn)行存儲(chǔ)。為將生成的格式分析代碼寫入文件中,在格式分析程序的生成過程中,首先創(chuàng)建文本流對(duì)象,接下來,依次將完成格式分析的代碼寫入這個(gè)文件中。由于一場(chǎng)考試中有多人參加,因此,在生成的閱卷程序中,首先要指定存放學(xué)生試卷的文件夾,然后,依次讀取文件夾下的每一文件,并從文件中提取需要的格式信息,并將讀取的結(jié)果與上面讀到的標(biāo)準(zhǔn)結(jié)果進(jìn)行比較,完成對(duì)學(xué)生書卷的分析。算法4所示代碼對(duì)這一流程進(jìn)行了展示。

算法4:格式分析程序自動(dòng)生成

Dim tf As Scripting.TextStream

tf=fso.OpenTextFile(“d: extfile.txt”, Scripting.IOMode.ForAppending, True)

tf.WriteLine(“imports microsoft.office.interop.word”)

tf.WriteLine(“sub main()”) ‘(byval cmdargs()as string)”)

tf.WriteLine(“dim studentfile as Microsoft.Office.Interop.word.Document”)

tf.WriteLine(“studentfile.activewindow.selection.font.name= “)

tf. WriteLine(Font_Name)

4 結(jié)語

Office文檔的排版是要求學(xué)生掌握的一個(gè)基本操作。本文以word文檔排版為例,對(duì)如何提取word文檔的格式信息、格式信息的存儲(chǔ)、格式信息的讀寫等問題進(jìn)行了討論,為有效的生成格式分析程序提供了參考。采用生成的格式分析程序?qū)ord文檔進(jìn)行自動(dòng)分析可以有效的降低閱卷工作的強(qiáng)度,提高閱卷工作的效率。

猜你喜歡
分析程序文檔對(duì)象
神秘來電
睿士(2023年2期)2023-03-02 02:01:09
管控經(jīng)營(yíng)風(fēng)險(xiǎn),以分析程序提升企業(yè)財(cái)務(wù)報(bào)表審計(jì)效能
有人一聲不吭向你扔了個(gè)文檔
攻略對(duì)象的心思好難猜
意林(2018年3期)2018-03-02 15:17:24
基于RI碼計(jì)算的Word復(fù)制文檔鑒別
基于熵的快速掃描法的FNEA初始對(duì)象的生成方法
區(qū)間對(duì)象族的可鎮(zhèn)定性分析
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
基于小波包變換的樂音時(shí)—頻綜合分析程序的開發(fā)
音樂探索(2015年1期)2015-04-27 01:01:52
不讓他人隨意下載Google文檔
電腦迷(2012年4期)2012-04-29 06:12:13
饶阳县| 遂昌县| 武穴市| 宜川县| 瓮安县| 左贡县| 株洲市| 孟村| 湘潭县| 满城县| 德昌县| 宁海县| 福泉市| 新巴尔虎右旗| 嘉义市| 正阳县| 蕉岭县| 沁源县| 阿坝县| 阆中市| 绵阳市| 蓬莱市| 蕉岭县| 宜章县| 新龙县| 镇远县| 霞浦县| 虹口区| 乐亭县| 怀安县| 定日县| 方城县| 正镶白旗| 孝义市| 安龙县| 潜江市| 郑州市| 城口县| 武功县| 桦甸市| 上犹县|