題記
常常會用到一個模板生成多個\多份文檔、郵件、通知的情況,文檔中除了個別關鍵字字段(如,名字、編號、或者日期等),其余內容都是同樣的。這種情況下,如果單個生成文檔(打開,添加/修改關鍵字段,保存),則費時費力,而且容易出錯。
Word提供了一個Mail Merge的功能,該功能允許一個文檔模板從一個數據源中提取關鍵字段,替換模板中的內容,生成多個文檔。特別適用於通知、群發郵件、證書的生成。這個數據源可以是Excel,可以是Access數據庫。
舉例
- 先在Excel中構造一個數據源文件,這里使用最簡單的內容,即姓名,編號、性別。如下
Name | Number | Gender |
張三 | 1 | Male |
李四 | 2 | Famale |
黃一 | 3 | Male |
- 然后創建模板。打開word,選擇Mailings-> Start Mail Merge -> Step by Step Mail Merge Wizard,右邊會出現mail merge的對話框。在剛才的位置再點擊Show Mail Merge Toolbar,可以看到在工具欄出現Mail Merge的工具條。
- 按照Mail Merge對話框的提示,打開一個文檔(當前文檔就可以),選擇默認設置,繼續下一步,開始編輯你的文檔,此時會彈出選擇數據源的對話框,這個時候,就需要指定到剛才創建的數據源文件,然后選擇數據表單(sheet),選擇你需要的數據行。
- 然后,需要編輯你的文檔,添加你需要加入的合並域(Field)。在剛才打開的Mail Merge工具條可以看到有一個“插入合並域”(Insert Merge Field)和插入單詞域(Insert Word Field)。插入合並域可以直接添加字段,而插入單詞域則允許一些邏輯判斷,比如(如果……則……否則……)。
- 編輯文檔如下。
Hello, «Gender» «Name»,
Your number is «Number». Thank you.
其中的《》引用的內容即為插入域,是點擊“插入合並域”后選擇插入的,在合並數據源的時候或者Preview Results的時候,這些字段會自動替換為數據源中的真實數據。
這個時候可以通過點擊工具條上的“查看合並數據”(View Merged Data)來查看合並數據源后的效果,如下,
Hello, Mr. 張三,
Your number is 1. Thank you.
最后
可以使用“合並到新文檔”(Merge to New document)來保存所有合並數據源后的文件,或者,“合並到打印機”(Merge to Printer)來打印,或者“合並到郵件”來發送。
但是他不能分開成一個個單獨的文檔,可以使用vba來實現,見http://www.cnblogs.com/batter152/p/3530711.html。
或者使用第三方的插件Individual Merge Letter,安裝好之后在word的ribbon上多出一個group,有一些按鈕,點擊之后如圖,就可以自動分成多個文檔。