前些日子,因为工作需要,得把一堆梳理出来的问题反馈给相关人员去处理,有几百个人。问题反馈单是用word的邮件合并功能调用excel生成出来的。word邮件合并只能生成在一个文件中,不能每项记录生成一个单独的文件。涉及几百个人的,如果手工拆成单独的文件还不要累死去?作为资深菜鸟,只知其一不知其二是必然的。
于是,上网找大神。还真有大神提供了解决方案,说是把下面一段VBA代码放到word里去运行就OK了!
----------------我是菜鸟不会排版-----------------
(这段代码不是咱们菜鸟该研究的,反正只要按中间注释的说明修改一下路径就可以用了,我试过)
VBA代码:
Sub myMailMerge()
Dim myMerge As MailMerge, i As Integer, myname As String
Application.ScreenUpdating = False
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个和第2个字段的当前数据命名,请自行修改命名公式
myname = .DataFields(1).Value & .DataFields(2).Value
.ActiveRecord = wdNextRecord
.Parent.Execute
With ActiveDocument
.Content.Characters.Last.Previous.Delete
'生成的各文档保存于D盘根目录下,请自行修改文档保存的路径
.SaveAs 'D:\' & myname & '.doc'
.Close
End With
Next
End If
End With
Application.ScreenUpdating = True
End Sub
----------------我是菜鸟不会排序-----------------
但大神就是大神,他绝对想不到咱们菜鸟连word中怎么运行VBA都不会。只好继续搜,总算搞明白了。在word中运行VBA总共分三步(原来和把大象放冰箱一样简单):
第一步:打开word。再同时按下键盘上的两个键:ALT和F11。
第二步:双击左侧“ThisDocument”节点,就会弹出一个大大的空白窗口,把那一堆VBA代码粘贴进去。
第三步:点击上面一排按钮中那个长得像播放按钮的右小三角按钮。就OK了!
点击后,你们发现界面不停地闪动,每闪一下说明就生成了一个单独的文件了,闪完后,你到D盘根目录下去找那一堆生成的文件(VBA代码中默认设置的是D盘根目录,就是这一句:.SaveAs 'D:\……可以自己修改)。
-----------------------
编后废话:
这是小编在头条发的第一贴,作个自我介绍:
菜鸟最怕就是看大神的攻略,全是术语看头就头大!本人作为一名啥都感兴趣的资深菜鸟,潜心研究各类技术二十余年,做网站、写程序、搞美工、练书法、学画画、作文章、抓管理、装逼格,属于搞IT里面最懂美工的,搞HR里面最懂画画的,搞文字里面最懂程序的,最终一事无成,博而不精,徒留一堆手记。从菜鸟角度写手记,同样的”白”更易懂,你值得拥有!
联系客服