![dc2653e61bafaf5bb3375ad33a888459.png](https://i-blog.csdnimg.cn/blog_migrate/1a714aec39ec6234b29d0a8d1a69afa1.jpeg)
当我们需要批量生成名片,合同,成绩单等有相同内容的文件时,使用word邮件合并功能非常方便。如果你还需要把word文件发给不同的人就需要再拆分一下,用复制粘贴的方法拆分word,数量一多不仅效率低,还会因为文档格式变化变得不一样,如果有图片的话又无法用大纲视图拆分,如果转成PDF文件再拆分后再转回word,格式还是会有变动,对于喜欢完美的强迫症患者来说,这真的是难以接受。
其实就算有图片或表格,也是可以完美拆分的,下面我用word2010给大家举个例子演示一下这套方法的完整流程。
年底了,老板让助理给手下的10名一线员工写一封表扬信,对他们在公司的辛苦工作表示肯定,同时也调研一下他们对公司的期望,为了方便回收整理,以邮件附件的形式发给对方。
1. 准备好需要替换的EXCEL数据源
![25b264baef1bd743d41df9ab2eaf42de.png](https://i-blog.csdnimg.cn/blog_migrate/4fe363556e0ddee27f0b58de6b906f4f.jpeg)
2. 打开word模板文件
![e760fbb05f14da744b5e84e894ed7859.png](https://i-blog.csdnimg.cn/blog_migrate/cf1ccf26a6d29e9cc68497e9e38546a0.jpeg)
3.邮件合并
![783cdea7a42896c2e9538192cdb5d5de.png](https://i-blog.csdnimg.cn/blog_migrate/b2027a33f11ff218209cd00aed2c5bc8.jpeg)
![d993743b-912d-eb11-8da9-e4434bdf6706.png](http://p04.5ceimg.com/content/d993743b-912d-eb11-8da9-e4434bdf6706.png)
![60230d0a12390d0a181d0917e71d7d98.png](https://i-blog.csdnimg.cn/blog_migrate/a2efda67cc8061edac74bc96c74a19e1.jpeg)
![a6833b24e4ae3770c1645d85a1055e10.png](https://i-blog.csdnimg.cn/blog_migrate/e8abd31a75d448bbe98e6af40542cce5.jpeg)
![d2b292c4afefa459df4cda3d73f13b12.png](https://i-blog.csdnimg.cn/blog_migrate/72f4bf169c7fc9df9a2dff3c732e8f7b.jpeg)
![e9e6a1a556fa4c3b0b2a570bf9459dd6.png](https://i-blog.csdnimg.cn/blog_migrate/8cc43c89273c68c8123e883066e23435.jpeg)
![c985f83ff0ce3117c7f7bedb7857252e.png](https://i-blog.csdnimg.cn/blog_migrate/9c628736ddb2a8f98f70c19216749e3a.jpeg)
![b78d27e82f24503c2fd77187d0e275f8.png](https://i-blog.csdnimg.cn/blog_migrate/38ee1f919426c4484068efe7ea57ad7c.jpeg)
![5e939e5e0130782a37c8002c6150020e.png](https://i-blog.csdnimg.cn/blog_migrate/c5f5797bc0cfc98931b82819c34c8f43.jpeg)
如果插入域的格式不是文本,注意邮件合并之前修改域代码,即选择插入的域,右键选择“切换域代码”,在“”输入想要对应的格式,如日期格式:@“yyyy-mm-dd”
![9daf5e05a0759848e14daddc443a4b6e.png](https://i-blog.csdnimg.cn/blog_migrate/f0c6e94e37da9a8ee56f623bdd32ce06.jpeg)
![9b8a6edbdae84ecac7c1538adf9eb780.png](https://i-blog.csdnimg.cn/blog_migrate/b0f93ef49c89bce1bebc3ce228157927.jpeg)
注:第一次使用邮件合并会在合并后生成新文档“信函1”,如果想要拆分成单个文件,记得先将生成的信函关闭。
4.文件拆分
![9190f2258b49bb06876479a0deb4a1a5.png](https://i-blog.csdnimg.cn/blog_migrate/9eca3ad36be8ce9e4fd97e340578dd85.jpeg)
![becc292f3d1e4927baa04fc9a31f98aa.png](https://i-blog.csdnimg.cn/blog_migrate/a51402c4ae2f0e604c01a5f1a5e93052.jpeg)
点击运行后会在当前word文件目录下生成“拆分后文档”,运行结果如下:
![998bfb65a9f4770ddeea773db56594f5.png](https://i-blog.csdnimg.cn/blog_migrate/30d29ec736b1a2d386af4e4dd403fa95.jpeg)
代码:
Sub myMailMerge()
'主文档的类型为信函
'合并全部数据记录
'假设主文档已链接好数据源,可以进行正常的邮件合并
Dim myMerge As MailMerge, i As Integer, myname As String, t As String
t = ActiveDocument.Path
Set fso = CreateObject("scripting.filesystemobject")
If (fso.folderexists(t & "拆分后文档")) Then
Else
Set f1 = fso.createfolder(t & "拆分后文档")
End If
Set myMerge = ActiveDocument.MailMerge
With myMerge.DataSource
If .Parent.State = wdMainAndDataSource Then
.ActiveRecord = wdFirstRecord
For i = 1 To .RecordCount
.FirstRecord = i
.LastRecord = i
.Parent.Destination = wdSendToNewDocument
'取得数据源第1个数据字符串,用以命名文件
myname = .DataFields(1).Value
.ActiveRecord = wdNextRecord
.Parent.Execute '每次合并一个数据记录
With ActiveDocument
.Content.Characters.Last.Previous.Delete '删除分节符
.SaveAs t & "拆分后文档" & myname '生成的各文档保存目录
.Close '关闭生成的文档(已保存)
End With
Next
End If
End With
Application.ScreenUpdating = True
MsgBox "拆分操作完毕!" & vbCrLf & "请到本目录下“拆分后文档”文件夹查看!!", vbInformation
End Sub
![93e859c8ee3e338250c014620a82a877.png](https://i-blog.csdnimg.cn/blog_migrate/0dcbe267ac21edcfffc6b347ca3466e8.jpeg)
![a819c29021003f7268e5e561a9d22043.png](https://i-blog.csdnimg.cn/blog_migrate/b497fd10476197d15d85fbe94307df89.jpeg)