文/王兆星 王麗敏
Word文檔在數(shù)據(jù)展示、圖文混排上有很多優(yōu)點(diǎn),缺點(diǎn)是對(duì)于在結(jié)構(gòu)、內(nèi)容有規(guī)律的數(shù)據(jù)不便于查看和分析統(tǒng)計(jì)。分析Word文檔中存在哪些結(jié)構(gòu)、內(nèi)容上有規(guī)律的數(shù)據(jù),并將這些數(shù)據(jù)從Word文檔中提取出來(lái)進(jìn)行單獨(dú)的展示與分析,有助于快速地對(duì)文檔內(nèi)容進(jìn)行深入了解,對(duì)于分布于文檔各處的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、分析,有利于提高工作效率。
在常見(jiàn)的Word文檔中,在直觀上給人以醒目印象的數(shù)據(jù)有3類(lèi)數(shù)據(jù):各級(jí)標(biāo)題、表格、圖表。
標(biāo)題是對(duì)文檔內(nèi)容以逐層細(xì)化的方式進(jìn)行分解,如果讀一篇文章的時(shí)間很短,可以從各級(jí)標(biāo)題中了解文章的核心思想。因?yàn)闃?biāo)題在Word文檔中是以層次結(jié)構(gòu)的方式組織的,在結(jié)構(gòu)上有規(guī)律可尋。對(duì)于一篇報(bào)告類(lèi)的文章,如果篇幅很大,而層次結(jié)構(gòu)簡(jiǎn)單、分明,若能單獨(dú)將其標(biāo)題提取出來(lái),對(duì)于快速把握文章內(nèi)容主旨,核查文章有沒(méi)有大項(xiàng)上的缺失,將變得簡(jiǎn)單而高效。
一篇文章中,使用表格表達(dá)的數(shù)據(jù),具有結(jié)構(gòu)簡(jiǎn)單明了,語(yǔ)義清晰豐富,且一般承載了文章中重要的數(shù)據(jù)等特征。甚至,一些文章中會(huì)使用結(jié)構(gòu)上完全相同的大量表格來(lái)承載同類(lèi)數(shù)據(jù)。如果能將所有表格單獨(dú)提取出來(lái),將有助于對(duì)文章核心內(nèi)容的把握。對(duì)結(jié)構(gòu)完全相同的大量表格,如果能將其中的數(shù)據(jù)提取成一張Excel二維表,就能將分散在Word文檔各處的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,提高工作效率。

圖1

圖2

圖3

圖4
一圖抵萬(wàn)言,用圖表達(dá)的數(shù)據(jù)形象直觀,信息量大。如果一篇文章中內(nèi)容很多,使用了很多具有相同意義的圖且分散在文中各處,單獨(dú)將這些圖提取出來(lái)進(jìn)行查看,將提升對(duì)文章核心信息把握的效率。
使用VBA編程的方式,可以快速地從Word中提取需要的結(jié)構(gòu)或內(nèi)容數(shù)據(jù)。
在Word文檔中,標(biāo)題是文檔的結(jié)構(gòu)數(shù)據(jù),在正式的Word文檔編輯中,每個(gè)標(biāo)題都屬于一個(gè)段落,標(biāo)題段落的大綱級(jí)別不同于正文段落。VBA中可以使用Paragraph.ΟutlineLevel獲取到指定段落的大綱級(jí)別。大綱級(jí)別的枚舉值及其說(shuō)明見(jiàn)表1。【W(wǎng)ord 開(kāi)發(fā)人員參考】標(biāo)題的級(jí)別越高(大標(biāo)題),相應(yīng)大綱級(jí)別的值越小。

枚舉名稱(chēng) 值 說(shuō)明wdΟutlineLevel1 1 大綱級(jí)別 1。wdΟutlineLevel2 2 大綱級(jí)別 2。wdΟutlineLevel3 3 大綱級(jí)別 3。wdΟutlineLevel4 4 大綱級(jí)別 4。wdΟutlineLevel5 5 大綱級(jí)別 5。wdΟutlineLevel6 6 大綱級(jí)別 6。wdΟutlineLevel7 7 大綱級(jí)別 7。wdΟutlineLevel8 8 大綱級(jí)別 8。wdΟutlineLevel9 9 大綱級(jí)別 9。wdΟutlineLevelBodyText10沒(méi)有大綱級(jí)別。
提取一個(gè)文檔中所有標(biāo)題信息的核心VBA代碼如圖1所示。
提取指定大綱級(jí)別標(biāo)題的核心代碼如圖2所示。
在實(shí)際應(yīng)用中,有一類(lèi)標(biāo)題可以歸納為“葉子標(biāo)題”,即該標(biāo)題的下一個(gè)段落就是正文或者應(yīng)該有正文但沒(méi)有正文內(nèi)容的標(biāo)題。“葉子標(biāo)題”及其下方的正文是文章按層次分解后的最低層次。
按照上述描述,提取“葉子標(biāo)題”的核心代碼如圖3所示。
如圖4所示。
假設(shè),需要提取具有相同表格格式的學(xué)生信息表,如下:

?
通過(guò)如下代碼,可以將Word中的多個(gè)表格提取為Excel二維表,如圖5所示。
Word中的數(shù)據(jù)如下:
提取到Excel中,數(shù)據(jù)顯示為:


圖5

圖6
為在Excel中進(jìn)行進(jìn)一步的數(shù)據(jù)分析做準(zhǔn)備。
如圖6所示。
本文介紹了使用VBA編程的方式,從Word文檔中對(duì)標(biāo)題數(shù)據(jù)、表格數(shù)據(jù)、圖形數(shù)據(jù)進(jìn)行提取的方法,并進(jìn)行了相應(yīng)的理論分析,對(duì)長(zhǎng)篇幅報(bào)告中表格數(shù)據(jù)、標(biāo)題結(jié)構(gòu)實(shí)現(xiàn)一鍵提取,從而提高辦公效率。