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