雷群泌
(湖南環(huán)境生物職業(yè)技術(shù)學(xué)院,湖南 衡陽 421005)
Word文字處理軟件是目前世界上使用最為廣泛的辦公軟件之一。使用Word文檔最基本的操作便是對一些重要文件進(jìn)行編輯和排版,例如公文、論文、標(biāo)書以及項(xiàng)目申報書等,這類文件對排版有很多非常嚴(yán)格的規(guī)范和要求。以公文為例,2012年4月中共中央辦公廳、國務(wù)院辦公廳聯(lián)合印發(fā)了《黨政機(jī)關(guān)公文處理工作條例》,隨后國家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局和國家標(biāo)準(zhǔn)化管理委員會又聯(lián)合發(fā)布了《黨政機(jī)關(guān)公文格式》國家標(biāo)準(zhǔn),從制度和標(biāo)準(zhǔn)的角度對我國黨政機(jī)關(guān)、企事業(yè)單位使用公文的規(guī)范提出了要求,該標(biāo)準(zhǔn)成為目前我國廣大文秘工作者處理公文的根本遵循。對文秘工作者來說,按照公文格式要求對文檔進(jìn)行排版并不難,麻煩的是要用手工排版的方式對大量機(jī)械重復(fù)的公文格式進(jìn)行編輯,采用手工排版不僅費(fèi)時費(fèi)力、效率低下,而且還容易出錯,不能保證排版的質(zhì)量,從而會影響公文處理的效果。
與手工排版方法相對應(yīng)的是自動排版方法。顯然,可以開發(fā)專門的排版軟件來實(shí)現(xiàn)對文檔的自動排版,但是對于廣大普通用戶來說,這既不經(jīng)濟(jì),也不現(xiàn)實(shí)。因此,有必要開發(fā)經(jīng)濟(jì)適用且適合普通用戶使用的自動排版方法;其中比較有效的1種方法是使用Word VBA或宏技術(shù),已經(jīng)有一些學(xué)者對該方法進(jìn)行了初步研究。
文獻(xiàn)[1]研究了通過VBA平臺來限制和規(guī)范文檔編輯的過程,避免在文檔編輯的過程中因人為因素而導(dǎo)致出現(xiàn)不規(guī)范和錯誤的操作,有效地降低了手工編輯的出錯幾率和查錯糾錯的工作量,極大地提高了文檔編輯的效率。文獻(xiàn)[2]針對期刊編輯日常工作中需要完成大量重復(fù)的工作,使用Word VBA開發(fā)了一些編輯加工功能,可以快速形成格式規(guī)范稿件,提高了期刊的編輯質(zhì)量。文獻(xiàn)[3]則利用VBA編程解決了Word 2010中對藏文進(jìn)行排版時存在無法對齊左右邊界的問題,實(shí)現(xiàn)了藏文文檔排版的規(guī)范化。文獻(xiàn)[4]針對高校畢業(yè)論文復(fù)雜的排版要求,利用Word宏代碼和Delphi語言開發(fā)了論文自動排版系統(tǒng),實(shí)現(xiàn)了對畢業(yè)論文的自動排版。由于公文是1種應(yīng)用非常廣泛的重要文書,要起草和編輯公文就離不開排版,特別是對于廣大文秘工作者來說,按要求對公文進(jìn)行排版和格式審核已經(jīng)成為1項(xiàng)頗費(fèi)精力的重要工作。但是,目前對按照最新公文格式規(guī)范要求進(jìn)行自動排版的技術(shù)的研究還非常有限。
按照《黨政機(jī)關(guān)公文處理工作條例》和《黨政機(jī)關(guān)公文格式》國家標(biāo)準(zhǔn)的要求,并結(jié)合筆者單位的實(shí)際情況,公文格式總體上包括以下4個方面。
上邊距為3.0 cm,下邊距為3.0 cm,左邊距為2.5 cm,右邊距為2.4 cm;使用A4紙,寬度為21.0 cm,高度為29.7 cm;頁眉頁腳奇偶頁不同、首頁不同,頁眉距邊界1.5 cm,頁腳距邊界2.2 cm;指定行與字符網(wǎng)格,每行28個字符數(shù),每頁22行。
公文標(biāo)題為二號方正小標(biāo)宋簡體;正文內(nèi)容為三號仿宋_GB2312;正文一級標(biāo)題為三號黑體;二級標(biāo)題為三號楷體_GB2312;三級標(biāo)題為三號仿宋_GB2312;西文字體為Times New Roman。
公文的標(biāo)題設(shè)置為居中對齊,無首行縮進(jìn),段前、段后間距為0行,行距為固定值32磅;公文正文部分設(shè)置為兩端對齊,首行縮進(jìn)2字符,段前、段后間距為0行,行距為固定值30磅;所有段落取消孤行控制。
頁碼使用阿拉伯?dāng)?shù)字左右各加1條一字線,字體為四號宋體;其中,奇數(shù)頁的頁碼在頁面底端的右側(cè),偶數(shù)頁的頁碼在頁面底端左側(cè),首頁不顯示頁碼。
VBA是Visual Basic for Applications的簡稱,也就是通常所講的新一代標(biāo)準(zhǔn)宏語言,它是1種基于Visual Basic的程序設(shè)計(jì)語言,通過嵌入到Office辦公軟件中,實(shí)現(xiàn)對Office辦公軟件的控制、功能擴(kuò)展和定制。VBA以面向?qū)ο蟮姆绞教峁┝宋臋n對象Document、頁面設(shè)置對象Pagesetup、段落對象Paragraph以及字體對象Font等很多對象,文檔編輯工作者只需要按照具體的排版要求定義好這些對象的屬性和方法,就可以完成對文檔的排版,即通過VBA編程,將排版要求代碼化,并嵌入到Word模板中,那么當(dāng)要對文檔進(jìn)行排版時,只需要執(zhí)行該VBA程序,就可以完成對Word文檔的自動排版。
3.2.1 進(jìn)入VBA編程環(huán)境
VBA的使用門檻不高,之所以沒有任何編程基礎(chǔ)的人也可以快速掌握VBA,是因?yàn)閃ord內(nèi)置了1個Visual Basic程序編輯器,可以通過創(chuàng)建宏的方式打開該編輯器,該編輯器便是VBA程序的開發(fā)工具,使用它不僅可以編寫VBA程序,還可以對VBA程序進(jìn)行調(diào)試。
單擊Word 2010“視圖”選項(xiàng)卡下面的“宏”命令按鈕,彈出“宏”對話框,如圖1所示,在“宏名”下面的編輯框中輸入宏名稱“公文排版”,選擇“宏的位置”中的“所有活動模板和文檔”,再單擊“創(chuàng)建”按鈕就可以創(chuàng)建1個宏,同時打開Visual Basic編輯器,在該編輯器中可以看到已經(jīng)創(chuàng)建了1個VBA過程“Sub 公文排版()”,如圖2所示。
圖1 宏對話框
3.2.2 公文格式的代碼化
由于Word VBA是以宏的形式來實(shí)現(xiàn)的,因此可以通過錄制宏的方式來實(shí)現(xiàn)從公文編輯到VBA代碼的轉(zhuǎn)化,再到Visual Basic編輯器中對代碼進(jìn)行適當(dāng)修改,就可以快速地完成對VBA自動排版程序的編寫。以頁面設(shè)置為例,按照公文格式要求,在對頁面設(shè)置的同時同步錄制宏,就可以創(chuàng)建1個“公文排版_頁面設(shè)置()”的VBA過程,具體代碼如下。
在上述代碼中,PageSetup是VBA提供的頁面設(shè)置對象,該對象具有很多屬性,例如TopMargin、BottomMargin分別表示頁面設(shè)置操作中的上邊距和下邊距,通過定義這些屬性就可以完成對頁面中頁邊距、紙張、版式以及文檔網(wǎng)格等的設(shè)置。按照同樣的方法,可以對公文格式對字體、段落等其他方面的要求一一轉(zhuǎn)換成VBA代碼,從而實(shí)現(xiàn)公文格式排版要求的代碼化。其中,插入頁碼的操作相對比較復(fù)雜,需要考慮奇、偶數(shù)頁頁碼的差異,具體程序流程如圖3所示。
要通過運(yùn)行1次VBA程序完成所有排版格式的自動設(shè)置,還需要把前面實(shí)現(xiàn)的頁面設(shè)置、字體設(shè)置以及段落設(shè)置等VBA過程全部設(shè)置為“Sub 公文排版()”這個過程的子過程,這樣排版時只需要執(zhí)行“Sub 公文排版()”,所有的子過程就會依次自動執(zhí)行。將其他過程設(shè)置為“Sub 公文排版()”的子過程的方法如下。
圖2 Visual Basic編輯器
圖3 插入頁碼的VBA程序流程圖
用Word 2010打開1個格式非常混亂的文檔或者使用“清除格式”功能清除文檔的所有格式;再單擊視圖選項(xiàng)卡下的“宏/查看宏”,選擇“公文排版”,單擊“運(yùn)行”按鈕,就可以快速地完成文檔的自動排版。通過對比,發(fā)現(xiàn)該方法已經(jīng)自動按照公文格式要求完成了對文檔頁面、字體、段落以及頁碼的設(shè)置,特別是對文章標(biāo)題、正文中標(biāo)題(一級標(biāo)題、二級標(biāo)題和三級標(biāo)題)以及正文其他內(nèi)容的字體、字號、首行縮進(jìn)、對齊方式、段間距和行間距等參數(shù)的設(shè)置也都滿足公文格式的要求,該方法不僅排版效率高,而且排版效果也非常好。實(shí)驗(yàn)表明,該文提出的自動排版方法是可行、有效的。
該文提出的Word VBA自動排版方法有效地實(shí)現(xiàn)了公文自動排版,極大地提升了文檔編輯的效率,對其進(jìn)行推廣應(yīng)用有利于減少文秘工作者對于公文進(jìn)行格式編輯的工作量,可以把工作重心和主要精力集中到對公文內(nèi)容的審核,從而提高公文處理工作和公文的質(zhì)量。