自动生成word报告嵌入数据_Excel自动生成word合同

之前有两篇文章讲过Excel和Word数据交互的基础知识Excel和Word数据交互读取(一)和Excel和Word数据交互读取(二),这里说个实际代工遇到的案例。

一、实际案例引入

这次遇到的案例需求:Excel数据批量写入Word,生成合同文书。数据的对应关系如下图截图中所示。

76822554630814014f19f3e20ae84065.png

数据对应关系

二、思路及代码

思路很重要,代码可以不看,循环思路一定要看!

■思路:Word合同作为打开的模板文件,循环Excel数据写入Word,然后另存为新的Word文件。难点在于,每一个客户不一定只有一个产品订单。下面是代码循环的结构流程图。

cdd43fa8e570cdea6e5540eb2294456f.png

具体代码如下:

Sub 写入Word数据() Application.ScreenUpdating = False Set doc = CreateObject("word.application") doc.Visible = True id_row = ActiveSheet.Cells(Rows.Count, 4).End(3).Row kehu_row = ActiveSheet.Cells(Rows.Count, 3).End(3).Row For i = 2 To kehu_row If Cells(i, 3) <> "" And Cells(i + 1, 3) = "" Then r = Cells(i, 3).End(xlDown).Row - 1 If r = Rows.Count - 1 And r <> Cells(i, 4).End(xlDown).Row - 1 Then r = Cells(i, 4).End(xlDown).Row ElseIf r = Rows.Count - 1 And r = Cells(i, 4).End(xlDown).Row - 1 Then r = i End If Set wd = doc.Documents.Open(ThisWorkbook.Path & "合同模板.docx") With doc.Documents(1).Tables(1) .Rows(2).Select If r <> i Then doc.Selection.insertrowsbelow r - i For rr = 2 To r - i + 2 .cell(rr, 1).Range = IIf(Cells(i + rr - 2, 5).Value = 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值