中國石油化工股份有限公司廣州分公司 杜文曉
在日常工作中,經(jīng)常需要把一編寫好的WORD匯報(bào)文檔制作成固定標(biāo)準(zhǔn)版式的幻燈片,經(jīng)常要花費(fèi)幾個(gè)小時(shí)的時(shí)間來復(fù)制粘貼,調(diào)整字體和行距,效率極低,并且容易遺漏部分內(nèi)容,特別是帶有很多表格的,設(shè)置格式更是難題。
首先是做好幻燈片模版,模版按照要求的標(biāo)準(zhǔn)格式,設(shè)計(jì)有標(biāo)題頁、目錄頁、摘要頁、內(nèi)容頁、表格頁和結(jié)束頁,標(biāo)題頁、目錄頁、摘要頁的文本框填寫“一”,內(nèi)容頁的標(biāo)題和內(nèi)容文本框填寫“一”或“1”,方便識別控件,以便修改內(nèi)容,并設(shè)置要求的字體和行距。在幻燈片模版內(nèi)容頁的內(nèi)容文本框嘗試填寫內(nèi)容,確定可容納的每行字?jǐn)?shù)和最多的行數(shù)。
利用VBA語言,調(diào)用POWERPOINT,設(shè)計(jì)了自動(dòng)轉(zhuǎn)換和分頁程序。用VBA讀取WORD文檔每個(gè)段落的內(nèi)容,若為第1段落則在幻燈片結(jié)束頁前增加標(biāo)題頁并修改內(nèi)容;其它段落時(shí),主頁標(biāo)識為真則在幻燈片結(jié)束頁前增加摘要頁并修改內(nèi)容,若主頁標(biāo)識為假則按內(nèi)容特征在結(jié)束頁前自動(dòng)增加內(nèi)容頁和表格頁。讀取內(nèi)容特征分為判斷是否為表格,若是則繼續(xù)讀?。慌袛啾砀褡x取完畢時(shí),若之前有內(nèi)容則增加內(nèi)容頁,內(nèi)容清空,并增加表格頁;判斷開頭是否“一、”和“二、”等,若之前有內(nèi)容則增加內(nèi)容頁,內(nèi)容清空,標(biāo)識為頁標(biāo)題;判斷內(nèi)容的行數(shù)是否超過限制,若是增加一內(nèi)容頁并繼續(xù)讀取,否則內(nèi)容增加,行數(shù)增加。這過程當(dāng)中匯總目錄,完畢后修改目錄頁內(nèi)容,再把5個(gè)模版幻燈片刪除,幻燈片制作完成。流程圖如圖1所示。
標(biāo)題頁、目錄頁、摘要頁和內(nèi)容頁增加時(shí)都是在結(jié)束頁前增加新頁,然后查找該頁內(nèi)容為“一”或“1”的控件,找到后把它的內(nèi)容修改為需要的內(nèi)容,并設(shè)置成需要的格式,如內(nèi)容頁可把行距按行數(shù)設(shè)置為1、1.2或1.4等。
表格頁則是在結(jié)束頁前增加新頁,把文檔中指定的表格復(fù)制,在幻燈片中粘貼后,設(shè)置表格為需要的格式。
圖1 流程圖
使用時(shí)需要先檢查WORD文檔格式,修改第一段為標(biāo)題,編號修改成“一、”等格式,修改后執(zhí)行VBA宏生成幻燈片,然后手工調(diào)整一下格式,并核對一下,一個(gè)很好的幻燈片就很快生成了。
(1)VBA是WORD軟件和POWERPOINT軟件都自帶的可編程語言,在這兩個(gè)軟件當(dāng)中都可以使用,是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,設(shè)計(jì)很方便。當(dāng)然對于使用者來說也很方便,使用時(shí)只要允許宏運(yùn)行,并執(zhí)行宏就可以操作該程序了。所以這里采用VBA進(jìn)行設(shè)計(jì)。
(2)WORD文檔的內(nèi)容如何讀取:用WORD軟件中的VBA就可很方便地讀取WORD文檔的內(nèi)容,讀取時(shí)先取得段落總數(shù),然后按段落進(jìn)行讀取各段落的內(nèi)容。
(3)WORD文檔的表格如何判斷:段落內(nèi)容如果有表格時(shí),連續(xù)讀取的這些段落內(nèi)容開頭的文本都為chr(13)+ chr(7),判斷這個(gè)內(nèi)容就可增加表格頁。
(4)WORD文檔如何判斷小標(biāo)題:段落內(nèi)容如果含有“一、”、“二、”等內(nèi)容時(shí)可標(biāo)識為小標(biāo)題,這樣來簡化程序的設(shè)計(jì)。當(dāng)然按照寫文章的習(xí)慣可以把標(biāo)識修改為其它格式。也可預(yù)先處理文擋為“一、”等格式來簡化處理。
(5)POWERPOINT文檔如何生成:用WORD軟件中的VBA先打開POWERPOINT應(yīng)用對象,然后在應(yīng)用對象中打開模版文檔,先知道“結(jié)束頁”的幻燈片的編號,然后給該幻燈片的name賦值,把對應(yīng)的模版頁復(fù)制,然后在“結(jié)束頁”幻燈片前面粘貼增加就可得到需要的頁了,增加完再把做為模版頁的幻燈片刪除就可得到該文件。
(6)POWERPOINT如何修改內(nèi)容:首先是用遍歷該幻燈片的各個(gè)SHAPE對象,如果該對象的文本內(nèi)容為“一”或“1”就可以得到我們需要的控制對象,然后就可以修改該控制對象的文本內(nèi)容為我們需要的內(nèi)容。
(7)POWERPOINT如何增加表格:在POWERPOINT中雖然可以用VBA直接生成表格,然后再填寫內(nèi)容,設(shè)置格式,但程序量會大大增加,并且程序執(zhí)行時(shí)間也會大大增加。我采用把WORD文檔中指定的表格復(fù)制,在幻燈片中直接粘貼,然后再設(shè)置表格為需要的格式。這樣做的好處是大大減少程序語言,執(zhí)行時(shí)間也很快。
(8)POWERPOINT如何自動(dòng)分頁:先在幻燈片模版內(nèi)容頁確定可容納的每行字?jǐn)?shù)和最多的行數(shù),然后根據(jù)內(nèi)容確定增加該頁,并可設(shè)計(jì)自動(dòng)行距,來減少幻燈片的手工調(diào)整量。
VBA用PPT模版把WORD文檔轉(zhuǎn)換成幻燈片,經(jīng)過多次使用可以發(fā)現(xiàn),使用很方便,內(nèi)容轉(zhuǎn)換準(zhǔn)確度百分之百,再加上手工調(diào)整時(shí)間,以前需要1、2小時(shí)才能完成的幻燈片在十幾分鐘就可完成了,工作效率大大提高。