ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用vba代码利用模板生成不同数据内容的多个word文档?

如何用vba代码利用模板生成不同数据内容的多个word文档?

作者:绿色风 分类: 时间:2022-08-17 浏览:71
楼主
kevinchengcw
Q: 如何用vba代码利用模板生成不同数据内容的多个word文档?
A: 代码如下:
  1. Sub test()
  2. Dim Arr, N&, I&
  3. Arr = Worksheets("sheet1").[a1].CurrentRegion.Value  '取得数据源的数据放入数组中
  4. With CreateObject("word.application")  '创建word进程
  5.     .Visible = False  '隐藏执行进程
  6.     .documents.Open ThisWorkbook.Path & "\template.doc"  '打开模板文件
  7.     With .activedocument.tables(1)  '对表格一进行操作
  8.         For N = LBound(Arr) + 1 To UBound(Arr)   '循环数据区,将数据写入word文档表格对应的对应单元格内(注意:word vba中引用单元格用cell,有别于excel中的cells)
  9.             .cell(1, 1).Range.Text = Arr(1, 2) & ":" & Arr(N, 2)
  10.             .cell(1, 2).Range.Text = Arr(1, 3) & ":" & Arr(N, 3)
  11.             .cell(1, 3).Range.Text = Arr(1, 4) & ":" & Format(Arr(N, 4), "yyyy-m-d")
  12.             .cell(2, 2).Range.Text = Arr(N, 5)
  13.             .cell(3, 2).Range.Text = Arr(N, 6)
  14.             .cell(6, 2).Range.Text = Arr(N, 7)
  15.             .cell(8, 1).Range.Text = Arr(N, 8)
  16.             .cell(8, 2).Range.Text = Arr(N, 9)
  17.             .cell(8, 3).Range.Text = Arr(N, 10)
  18.             .cell(8, 4).Range.Text = Arr(N, 11)
  19.             .cell(8, 5).Range.Text = Arr(N, 12)
  20.             .cell(8, 6).Range.Text = Arr(N, 13)
  21.             .cell(8, 7).Range.Text = Arr(N, 14)
  22.             .cell(8, 8).Range.Text = Arr(N, 15)
  23.             .cell(8, 9).Range.Text = Arr(N, 16)
  24.             .cell(9, 1).Range.Text = Arr(1, 17) & ":" & Arr(N, 17)
  25.             .cell(9, 2).Range.Text = Arr(1, 18) & ":" & Arr(N, 18)
  26.             .cell(9, 3).Range.Text = Arr(1, 19) & ":" & Arr(N, 19)
  27.             .Parent.SaveAs ThisWorkbook.Path & "\" & Arr(N, 1) & ".doc"  '通过另存为命令生成数据区里指定的表名
  28.         Next N
  29.     End With
  30.     .activedocument.Close False  '关闭最后的活动文档
  31.     .Quit  '退出word进程
  32. End With
  33. End Sub
详见附件及素材源帖.
求助.rar
2楼
wise
学习K哥的代码
3楼
paul001
感觉像在看天书一样
4楼
quary1015
学习一下,准备把offer改成自动导出,如果能实现就好了

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap