ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用vba代码提取相同格式word中表格内容到excel中?(邮件合并逆过程)

如何用vba代码提取相同格式word中表格内容到excel中?(邮件合并逆过程)

作者:绿色风 分类: 时间:2022-08-17 浏览:108
楼主
kevinchengcw
Q: 如何用vba代码提取相同格式word中表格内容到excel中?(邮件合并逆过程)
A: 代码如下:
  1. Sub test()
  2. Dim Arr, Rule, Tbl, N&, I%, Str$
  3. Rule = Array(1, 2, 1, 4, 1, 6, 1, 8, 2, 2, 2, 4, 2, 6, 2, 8, 3, 2, 3, 4, 3, 6, 4, 3, 4, 5, 6, 5, 7, 6, 8, 7, 9, 6, 12, 5, 13, 5, 14, 3, 14, 5, 16, 5, 17, 6, 18, 7, 19, 6, 22, 5)  '建立提取的word表格单元格规则,两个一组,分别代表行列值
  4. With CreateObject("word.application")  '创建word进程,用于操作word文档
  5.     With .documents.Open(ThisWorkbook.Path & "\调资.doc")   '打开指定要提取的word文档
  6.         If .tables.Count > 0 Then  '如果有表格,则
  7.             ReDim Arr(1 To .tables.Count, 1 To 28)  '根据表格数建立数组
  8.             N = 1  '初始化序号
  9.             For Each Tbl In .tables  '循环文档中的各个表格
  10.                 With Tbl
  11.                     Arr(N, 1) = N   '将当前序号写入数组当前行第一列
  12.                     For I = LBound(Rule) To UBound(Rule) Step 2   '循环要提取的单元格规则数组
  13.                         Str = .cell(Rule(I), Rule(I + 1)).Range.Text   '将文本内容提取出来,赋值给变量
  14.                         Arr(N, Int((I + 2) / 2) + 1) = Left(Str, Len(Str) - 2)  '写入到数组对应位置
  15.                     Next I
  16.                     N = N + 1  '序号加1
  17.                 End With
  18.             Next Tbl
  19.         End If
  20.         .Close False  '关闭word文档
  21.     End With
  22.     .Quit  '退出word进程
  23. End With
  24. Rows("3:" & Rows.Count).ClearContents   '清空目标数据区域
  25. [a3].Resize(UBound(Arr), UBound(Arr, 2)) = Arr  '写入结果
  26. End Sub
详见附件及素材源帖.
调资.rar
2楼
kszcs
版主有个文件夹内的WORD导入excel中,怎么找不到了?
3楼
烟花醉
老大的代码,运行速度就是快呵呵
4楼
windimi007
K哥大作,必是精品!
5楼
红红的太阳
偶是来学习的,谢谢。
6楼
Without
附件不能下载  
7楼
Without
楼主  

免责声明

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

评论列表
sitemap