作者:绿色风
分类:
时间:2022-08-17
浏览:134
楼主 kevinchengcw |
Q: 如何用vba代码将word文档中插入的表格对象内容复制到Excel中? A: 实现代码如下:- Sub test()
- Dim Tbl As Object
- With ThisWorkbook.Worksheets("sheet2") '指定结果保存到的表格
- .Activate '激活
- .Cells.Clear '清空表格
- .Cells(1, 1).Value = "1.货币资金" '写入标题
- End With
- With CreateObject("word.application") '创建word进程
- .Visible = False '隐藏执行
- With .documents.Open(ThisWorkbook.Path & "\表格.doc") '打开目标word文档
- For Each Tbl In .inlineshapes '循环提取内嵌对象
- If LCase(Tbl.OLEFormat.classtype) Like "excel.sheet*" Then '如果内嵌对象类型是excel工作表,则
- Tbl.OLEFormat.DoVerb 0 '打开对象进行编辑
- With ActiveWorkbook.ActiveSheet '此时对象是活动工作簿,取活动工作表
- .UsedRange.Copy '复制已使用区域
- With ThisWorkbook.Worksheets("sheet2") '转到结果表中
- .Activate '激活结果表
- .Cells(.Rows.Count, 1).End(3).Offset(2).Select '选择粘贴起始位置(end(3)+offset(2)使各个表格之间间隔一行,也可以使用usedrange判断,两者均存在不准确的情况)
- .Paste '粘贴复制到的表格
- End With
- End With
- End If
- Next Tbl
- .Close False '关闭word文档
- End With
- .Quit '退出word进程
- End With
- End Sub
详见附件及素材源帖。
表格.rar |
2楼 开心E点 |
进来学习 |
3楼 xyf2210 |
进来学习 |
4楼 chenlifeng |
学习了,但是不会活用,等于没有学习,理由如下: 上面只是复制EXCEL类型的表格,其它普通的表格呢?我该如何办? 另,如果是要复制整个WORD文件到工作簿,又如何修正代码? 不能举一反三者,我也!故还望师傅明示哈。 我有类似提问:如何表示全选 当前整个WORD的内容并复制?然后再如何粘贴到EXCEL表格中?千次叩拜,谢谢!问题及附件,详见:http://www.exceltip.net/thread-37681-1-1.html |
5楼 老糊涂 |
进来学习 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一