ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 700|回复: 24

根据excel数据和word模板生成word

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-8-20 09:43 | 显示全部楼层 |阅读模式
各位大佬,本人想做一个根据word模板和excel的数据生成多页WORD的VB代码,每行数据生成一页WORD(生成的数据都在一个WORD内只是不同页),可是我做好后不论怎么调整都有问题,目前的问题是只有第一页能生成但是内容也不是excel内一行的内容,请大佬帮忙修改或者重新做一个,谢谢!

培训.rar

31.73 KB, 下载次数: 20

TA的精华主题

TA的得分主题

发表于 2024-8-20 10:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
一行生一张sheet表,不就简单了

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-20 10:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wengjl 发表于 2024-8-20 10:21
一行生一张sheet表,不就简单了

这些是需要打印出来签到的,一张一个sheet不好打印啊

TA的精华主题

TA的得分主题

发表于 2024-8-20 10:35 | 显示全部楼层
toc230415 发表于 2024-8-20 10:33
这些是需要打印出来签到的,一张一个sheet不好打印啊

VBA是可以直接生成+打印的

用不着你再打开表去点打印的

TA的精华主题

TA的得分主题

发表于 2024-8-20 10:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
循环中少了填表前先备份模板内容页的命令,导致处理了一条记录后,模板里的查找值不存在了,后面的记录也没法继续处理

TA的精华主题

TA的得分主题

发表于 2024-8-20 10:42 | 显示全部楼层
程序流程应该是:
循环头
发现一条记录
复制模板到下一页
在新页面模板里填写记录
循环尾

模板内容放在第一页一直保留。

TA的精华主题

TA的得分主题

发表于 2024-8-20 10:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
只插入分页符能行?
循环只是替换了第一页,其他页没东西怎么替换?
不知道我看的对不对,我是新手

TA的精华主题

TA的得分主题

发表于 2024-8-20 11:50 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-8-20 13:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
e..........

培训记录.zip

33.17 KB, 下载次数: 23

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-8-20 15:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. Sub test()
  2.     Dim r%, i%
  3.     Dim arr, brr
  4.     Dim mypath, myname
  5.     Dim wordapp As Object
  6.     If Dir(ThisWorkbook.Path & "\培训记录模板.docx") = "" Then
  7.         MsgBox ThisWorkbook.Path & "\培训记录模板.docx不存在!"
  8.         Exit Sub
  9.     End If
  10.     With Worksheets("sheet1")
  11.         .AutoFilterMode = False
  12.         r = .Cells(.Rows.Count, 1).End(xlUp).Row
  13.         arr = .Range("a2:j" & r)
  14.     End With
  15.     Set wordapp = CreateObject("word.application")
  16.     wordapp.Visible = True
  17.     Set mydoc = wordapp.Documents.Open(ThisWorkbook.Path & "\培训记录模板.docx")
  18.     With mydoc
  19.         .tables(1).Select
  20.         wordapp.Selection.MoveDown wdLine, 1, wdMove
  21.         wordapp.Selection.EndKey wdStory, wdExtend
  22.         wordapp.Selection.Delete
  23.         .tables(1).Select
  24.         wordapp.Selection.MoveUp wdLine, 1, wdMove
  25.         wordapp.Selection.EndKey wdLine, wdExtend
  26.         wordapp.Selection.End = .tables(1).Range.End
  27.         wordapp.Selection.Copy
  28.         For i = 1 To UBound(arr) - 1
  29.             With .Paragraphs.Last.Range
  30.                 .InsertParagraphAfter
  31.                 .Paste
  32.             End With
  33.         Next
  34.         For i = 1 To UBound(arr)
  35.             With .tables(i)
  36.                 .Cell(1, 2).Range.Text = arr(i, 9)
  37.                 .Cell(1, 4).Range.Text = arr(i, 4)
  38.                 .Cell(2, 2).Range.Text = arr(i, 2)
  39.                 .Cell(3, 2).Range.Text = arr(i, 3)
  40.                 .Cell(4, 2).Range.Text = arr(i, 5)
  41.                 .Cell(4, 4).Range.Text = arr(i, 8)
  42.                 .Cell(5, 2).Range.Text = arr(i, 7)
  43.                 .Cell(5, 4).Range.Text = arr(i, 10)
  44.                 .Cell(6, 2).Range.Text = arr(i, 6)
  45.             End With
  46.         Next
  47.         .SaveAs2 ThisWorkbook.Path & "\培训记录.docx"
  48.         .Close
  49.     End With
  50.     wordapp.Quit
  51.     MsgBox "培训记录生成完毕!"
  52. End Sub
复制代码

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 16:50 , Processed in 0.041228 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表