在日常工作中我們經常要把Excel、Access、FoxPro等軟件處理過的數據打印出來,盡管在Access、FoxPro等專門的數據庫軟件中也提供有報表或標簽的輸出功能,但其結果的再編輯能力比Word差,更沒有Word的圖文混排功能,打印出來的效果不盡如人意。我們利用Word提供的“郵件合并”功能就可以輕松地把Excel、ccess、FoxPro等里面的數據按要求設計成一定的格式打印出來,如打印考生成績通知單,工資條等等。下面就簡要介紹一下用Word郵件合并功能設計表格及其操作的一些技巧,就以Word2003打印Excel中的學生成績單為例(如圖1)。
打開Word,新建一個文件,然后點擊菜單中的“工具/信函與郵件/顯示郵件合并工具欄”,工具欄上會多了“合并郵件”工具欄(如圖2),單擊圖211具欄1處“打開數據源”,找到數據源文件的工作簿并選擇相應的工作表,然后單擊“確定”按鈕,如果數據源是Access或FoxPro也一樣打開。
在Word文檔中制作成績單表格,在表格要插入Excel數據的對應位置處單擊圖2中的“插入域”工具欄,分別把“語文域”、“數學域”、“英語域”、“總分域”插入到相應的位置,如圖3中一個單元格中的圖形(不包括《NextRecord》)。
單擊圖232具欄3處“合并到新文檔”,即可生成一個包括所有同學成績單的Word新文檔。
以上做好的新文檔就是所有學生的成績單,但是每頁只能顯示一位同學的成績,這樣打印不僅浪費紙張,并且浪費時間,這是因為用郵件合并輸出的文件每條數據之間都自動插入了分節(jié)符,我們可以用“查找和替換”的方法將分節(jié)符(^b)替換成換行符(^1)解決問題。單擊“編輯”菜單下的“替換”,在查找和替換對話框的“查找內容”框內單擊“高級/特殊字符”選擇分節(jié)符(ab),在“替換為”框內同樣選擇換行符(^1),單擊“全部替換”,這樣在一頁紙上可顯示多個學生成績單。
以上方法雖然可行.但是可能會遇到一條記錄跨兩頁的情況(即表頭在這頁,表內容在另一頁),而且無法實現橫向并排多條記錄。當然,最重要的問題在于,它是修改后的合并文件.一旦數據源(Access、Excel、FoxPro)數據發(fā)生變化,要重新進行“郵件合并”,所有排版工作就要重新來做。下面看看如何在源Word文件模版中解決此問題。
第一步:把光標移到原Word文檔成績單最后,單擊圖232具欄中“下一條記錄”來插入“下一條記錄域”,圖中就多了一個“《Next Record》”,這樣做的目的是讓這條記錄顯示完后自動跳到下一條。
第二步:在Word文檔中插入一個表格,注意表格要設置成沒有邊框(其實插入表格的目的就相當于網頁制作中用表格進行布局定位),然后把做好的一個成績單全部內容復制到相應的單元格中,以填滿整頁紙為止(如圖3)。
第三步:刪除圖3右下角單元格中的《Next Record》域,因為郵件合并生成新文檔時一旦有分頁,就會自動跳到下一條記錄,如果不刪除,則第5、10、15…等條記錄數據將被遺漏掉。
第四步:重新合并郵件生成新文檔就可以直接打印了,沒有必要再替換分節(jié)符與排版了,并且實現了多條記錄的橫向并排,節(jié)約了打印時間和打印紙張。另外當數據源改變時,只要用做好的模版再重新進行“郵件合并”生成新文檔就可以了。
在此操作中要注意,當數據源是Excel32作表時,工作表數據不能有標題行,第一行必須是下面每列數據相對應的內容名稱(相當于數據庫的字段),還要注意數據不能有空行,否則Word郵件合并時就會認為下面沒有記錄了,另外工作表不能有合并單元格。
以上介紹的只是一個簡單的例子,學會了它,可以舉一反三,大量使用“郵件合并”來提高辦公人員的工作效率。