打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA代码-Word邮件批量保存-购销合同&收货证明
Sub 购销合同()
'主文档的类型为信函
'合并全部数据记录
'假设主文档已链接好数据源,可以进行正常的邮件合并
Dim myMerge As MailMerge, i As Integer, myname As String
Application.ScreenUpdating = False
If Dir("E:\Contracts\合同及收货证明" & Format(Date, "YYMMDD"), vbDirectory) <> "" Then
       
   Else
      
       MkDir "E:\Contracts\合同及收货证明" & Format(Date, "YYMMDD")
 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
            '取得数据源第4个和第2个字段(合并域)的当前数据字符串,用以命名文件,根据需要增减修改
            myname = .DataFields(4).Value & .DataFields(2).Value & "-购销合同"
            .ActiveRecord = wdNextRecord
            .Parent.Execute  '每次合并一个数据记录
            With ActiveDocument
                .Content.Characters.Last.Previous.Delete  '删除分节符
                .SaveAs "E:\Contracts\合同及收货证明" & Format(Date, "YYMMDD") & "\" & myname & ".doc" '假设生成的各文档保存于E盘根目录下
                .Close  '关闭生成的文档(已保存)
            End With
        Next
    End If
End With
Application.ScreenUpdating = True
End Sub

Sub 收货证明()
'主文档的类型为信函
'合并全部数据记录
'假设主文档已链接好数据源,可以进行正常的邮件合并
Dim myMerge As MailMerge, i As Integer, myname As String
Application.ScreenUpdating = False
If Dir("E:\Contracts\合同及收货证明" & Format(Date, "YYMMDD"), vbDirectory) <> "" Then
       
   Else
      
       MkDir "E:\Contracts\合同及收货证明" & Format(Date, "YYMMDD")
 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
            '取得数据源第4个和第2个字段(合并域)的当前数据字符串,用以命名文件,根据需要增减修改
            myname = .DataFields(4).Value & .DataFields(2).Value & "-收货证明"
            .ActiveRecord = wdNextRecord
            .Parent.Execute  '每次合并一个数据记录
            With ActiveDocument
                .Content.Characters.Last.Previous.Delete  '删除分节符
                .SaveAs "E:\Contracts\合同及收货证明" & Format(Date, "YYMMDD") & "\" & myname & ".doc" '假设生成的各文档保存于E盘根目录下
                .Close  '关闭生成的文档(已保存)
            End With
        Next
    End If
End With
Application.ScreenUpdating = True
End Sub

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
邮件合并生成单独文件,大神给了个VBA代码,咋弄?
excel工作表和工作簿拆分合并宏代码(亲测有效!)
统计一个文件夹下所有excel表最后一行 - 『Excel VBA程序开发』 - Exce...
【最高院发布】最新19个合同纠纷典型案例(上)
南京法院判例:开具增值税发票不能成为拒绝支付货款的抗辩事由
买受人质量异议期的认定
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服