全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 Excel
3499 5
2012-12-06
同学要做一个邮件合并的程序,请各位帮忙看下,多谢!

问题如下:

我想在word邮件合并(mailmerge)中保存每一条记录到单独的文档,但是我不懂VBA,于是
在网上搜到这样一坨代码,但是把代码粘贴到主文档里,运行出现错误,run的时候弹出
一个框说datasource empty or cannot find data source,可是鼠标放在myname、Acti
veDocument上也能正确显示应该出现的数据。debug时,.parent.execute那一行标黄了,
不知是什么情况?

P.S. 有没有什么办法能直接保存成pdf呢?

谢谢!

代码如下:

SubmyMailMerge()

'主文档的类型为信函

'合并全部数据记录

'假设主文档已链接好数据源,可以进行正常的邮件合并

Dim myMergeAs MailMerge, i As Integer, myname As String

Application.ScreenUpdating= False

Set myMerge =ActiveDocument.MailMerge

WithmyMerge.DataSource

    If .Parent.State = wdMainAndDataSource Then

        .ActiveRecord = wdFirstRecord

        For i = 1 To .RecordCount

            .FirstRecord = i

            .LastRecord = i

            .Parent.Destination =wdSendToNewDocument

            '取得数据源第4个(合并域)的当前数据字符串,用以命名文件,根据需要
增减修改

            myname = .DataFields(4).Value

            .ActiveRecord = wdNextRecord

            .Parent.Execute  '每次合并一个数据记录

            With ActiveDocument

               .Content.Characters.Last.Previous.Delete '删除分节符

                .SaveAs"C:\" &myname & ".doc"  '保存文档

                 Selection.WholeStory '全选文档

                 Selection.Fields.Unlink '转换为纯文本

                 ActiveDocument.Save '保存文档

                .Close  '关闭生成的文档(已保存)

            End With

        Next

    End If

End With

Application.ScreenUpdating= True

End Sub



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-12-6 12:09:34
自己顶下,这么多论坛币 别沉了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-7 15:22:57
真没人会吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-7 15:37:43
看来确实没有人会,楼主还是请高人吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-12 12:04:26
have a look
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-3-26 10:32:01
申请撤销悬赏,谢谢
VBA合并邮件出bug了
https://bbs.pinggu.org/forum.php? ... amp;from^^uid=2144533
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群