王志軍
我們經(jīng)常會(huì)遇到一些表格與文字的混合型文檔,其中表格中的數(shù)據(jù)常常來(lái)自于數(shù)據(jù)庫(kù),如圖1所示。有時(shí),需要對(duì)其中的數(shù)據(jù)進(jìn)行還原,也就是將這些表格中的信息還原回?cái)?shù)據(jù)庫(kù)形式的表格。由于文檔中表格多,表格間含有許多文字,拖拽滾動(dòng)條很難定位。在不借助其他程序(如Excel)的前提下,利用Word本身的功能,其實(shí)也可實(shí)現(xiàn)上述數(shù)據(jù)還原的要求。
一、常規(guī)的逆序處理法
1. 獲得純表格
按下Ctrl+H組合鍵,打開(kāi)“查找和替換”對(duì)話框,切換到“查找”選項(xiàng)卡,查找“[一-龥](méi)*冊(cè)^13”,這里的“[一-龥](méi)”表示所有中文漢字(注:“龥”五筆編碼wglm,拼音yue),在“閱讀突出顯示”列表下選擇“全部突出顯示”,這樣就可突出顯示所有查找到的內(nèi)容,關(guān)閉查找對(duì)話框,按下Delete鍵,執(zhí)行之后即可刪除表格之外的所有內(nèi)容。此時(shí)你會(huì)發(fā)現(xiàn)每?jī)蓚€(gè)表格之間還存在一個(gè)多余的段落標(biāo)記,選擇任意一個(gè)表格間的段落標(biāo)記,在“編輯”功能組依次選擇“選擇→選擇格式相似的文本”即可選中所有表格間的段落標(biāo)記,按下Delete鍵刪除即可。效果如圖2所示,此時(shí)看到的就只是一個(gè)合并在一起的表格。
2. 獲得無(wú)格式文本
按下Ctrl+A組合鍵全選所有內(nèi)容,剪切之后選擇“選擇性粘貼→無(wú)格式文本”,當(dāng)然也可以打開(kāi)一個(gè)新建文檔窗口進(jìn)行操作。
3. 表格與文本的多次轉(zhuǎn)換
按下Ctrl+A組合鍵全選所有內(nèi)容,切換到“插入”選項(xiàng)卡,在“表格”功能組依次選擇“表格→文本轉(zhuǎn)換成表格”,列數(shù)設(shè)置為“1”,文字分隔位置選擇“制表符”,此時(shí)可以獲得1列形式的一個(gè)表格。切換到“布局”選項(xiàng)卡,在“數(shù)據(jù)”功能組選擇“轉(zhuǎn)換為文本”,文字分隔符選擇“段落標(biāo)記”,執(zhí)行之后可以得到如圖3所示的文本效果。
4. 刪除奇數(shù)行
很顯然,上述文本存在許多重復(fù)的內(nèi)容,需要將其刪除。切換到“替換”選項(xiàng)卡,查找“(^13)(^13)”,替換為“\3^p”,表示刪除奇數(shù)行,保留偶數(shù)行。效果如圖4所示,這就是我們所需要的內(nèi)容。
完成上述步驟之后,接下來(lái)的步驟就簡(jiǎn)單多了。切換到“插入”選項(xiàng)卡,選擇“表格→文本轉(zhuǎn)換成表格”,選擇“12”列,這樣就可以得到所有的數(shù)據(jù)。為了保證顯示的效果,建議將紙張方向設(shè)置為“橫向”并作適當(dāng)調(diào)整。當(dāng)然此時(shí)我們得到的是一個(gè)沒(méi)有表頭的表格,此時(shí)請(qǐng)手工添加表頭,最終效果如圖5所示。
二、利用VBA正序處理
如果使用的是Word 2007或更高版本,也可以利用簡(jiǎn)單的VBA代碼進(jìn)行處理,這里以Word 2016版本為例進(jìn)行說(shuō)明。
按下Alt+F11組合鍵,打開(kāi)VBA編輯器窗口,依次選擇“插入→模塊”,在右側(cè)窗格插入一個(gè)空白模塊,粘貼簡(jiǎn)短代碼,如圖6所示(相關(guān)代碼可從http://pan.baidu.com/s/1jI97J3w下載)。“test”表示代碼名稱,可以任意設(shè)置。檢查無(wú)誤之后,依次選擇“文件→關(guān)閉并返回到Microsoft Word”命令,返回Word主界面,按下Alt+F8組合鍵,選擇并運(yùn)行宏,很快就可以將文檔中的表格全部選中。
打開(kāi)一個(gè)新建文檔,選擇“選擇性粘貼→無(wú)格式文本”,此時(shí)可以看到如圖7所示的效果,接下來(lái)的處理步驟與方法一完全相同。