ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Word > 类似邮件合并逆向操作的一个实例

类似邮件合并逆向操作的一个实例

作者:绿色风 分类: 时间:2022-08-17 浏览:129
楼主
0Mouse
Q:如何实现类似邮件合并逆向操作,提取Word文档中各表格指定单元格的内容到Excel工作表中呢?
问题描述:用邮件合并功能批量制作了《学员鉴定报名表》,现需要将《学员鉴定报名表》中各个表格的“姓名”和“身份证编号”数据提取到Excel工作表中,即将图1变成图2,该如何实现呢?
图1:数据表

 

图2:结果表

 

A:可以采用word-vba解决,代码如下:
  1. Sub 类似邮件合并逆向操作()
  2.     Dim Rst, Tbl As Table, Num%, xlApp As Object, Book As Object, S$
  3.     ReDim Rst(1 To ThisDocument.Tables.Count + 1, 1 To 3)
  4.     Rst(1, 1) = "序号": Rst(1, 2) = "姓名": Rst(1, 3) = "身份证号"
  5.     Num = 1
  6.     For Each Tbl In ThisDocument.Tables
  7.         Num = Num + 1
  8.         Rst(Num, 1) = Num
  9.         S = Tbl.Range.Text
  10.         Rst(Num, 2) = Split(S, Chr(7))(4)
  11.         Rst(Num, 3) = Split(Split(S, "身份证编号")(1), Chr(7))(1)
  12.         S = ""
  13.     Next Tbl
  14.     Set xlApp = CreateObject("Excel.Application")
  15.     Set Book = xlApp.workbooks.Add
  16.     With Book
  17.         .activesheet.Range("A1").Resize(Num, 3).Value = Rst
  18.         .activesheet.Columns.AutoFit
  19.         S = Replace(ThisDocument.FullName, ".doc", ".xls")
  20.         If Len(Dir(S)) Then Kill S
  21.         .SaveAs S, -4143
  22.         .Close False
  23.     End With
  24.     xlApp.Quit
  25.     MsgBox "任务完成!", vbInformation, "xqoa"
  26. End Sub

附件:
类似邮件合并逆向操作.rar





2楼
水星钓鱼
感谢分享
3楼
海洋之星
看来想进步只有跟着千爷学习Word了
4楼
feisail
真是进退自如。好好学学。

免责声明

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

评论列表
sitemap