word删除分节符后之前的格式乱了_办公室高级技能之Word邮件合并拆分

dc2653e61bafaf5bb3375ad33a888459.png

当我们需要批量生成名片,合同,成绩单等有相同内容的文件时,使用word邮件合并功能非常方便。如果你还需要把word文件发给不同的人就需要再拆分一下,用复制粘贴的方法拆分word,数量一多不仅效率低,还会因为文档格式变化变得不一样,如果有图片的话又无法用大纲视图拆分,如果转成PDF文件再拆分后再转回word,格式还是会有变动,对于喜欢完美的强迫症患者来说,这真的是难以接受。

其实就算有图片或表格,也是可以完美拆分的,下面我用word2010给大家举个例子演示一下这套方法的完整流程。

年底了,老板让助理给手下的10名一线员工写一封表扬信,对他们在公司的辛苦工作表示肯定,同时也调研一下他们对公司的期望,为了方便回收整理,以邮件附件的形式发给对方。

1. 准备好需要替换的EXCEL数据源

25b264baef1bd743d41df9ab2eaf42de.png

2. 打开word模板文件

e760fbb05f14da744b5e84e894ed7859.png

3.邮件合并

783cdea7a42896c2e9538192cdb5d5de.png

d993743b-912d-eb11-8da9-e4434bdf6706.png

60230d0a12390d0a181d0917e71d7d98.png

a6833b24e4ae3770c1645d85a1055e10.png

d2b292c4afefa459df4cda3d73f13b12.png

e9e6a1a556fa4c3b0b2a570bf9459dd6.png

c985f83ff0ce3117c7f7bedb7857252e.png

b78d27e82f24503c2fd77187d0e275f8.png

5e939e5e0130782a37c8002c6150020e.png

如果插入域的格式不是文本,注意邮件合并之前修改域代码,即选择插入的域,右键选择“切换域代码”,在“”输入想要对应的格式,如日期格式:@“yyyy-mm-dd”

9daf5e05a0759848e14daddc443a4b6e.png

9b8a6edbdae84ecac7c1538adf9eb780.png

注:第一次使用邮件合并会在合并后生成新文档“信函1”,如果想要拆分成单个文件,记得先将生成的信函关闭。

4.文件拆分

9190f2258b49bb06876479a0deb4a1a5.png

becc292f3d1e4927baa04fc9a31f98aa.png

点击运行后会在当前word文件目录下生成“拆分后文档”,运行结果如下:

998bfb65a9f4770ddeea773db56594f5.png

代码:
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
关注微信公众号,领取更多干货
Excel/Word/Outlook/PDF免费助手​www.liangxin-vip.com
a819c29021003f7268e5e561a9d22043.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值