作者:绿色风
分类:
时间:2022-08-17
浏览:158
楼主 kevinchengcw |
Q: 如何用vba代码提取ppt文档中插入的excel工作簿? A: 实现代码如下:- Sub test()
- Dim Slide As Object, Obj As Object, N&
- With CreateObject("powerpoint.application") '创建powerpoint进程
- .Visible = True '界面可见(因不可见时无法进行插入对象激活编辑操作)
- With .presentations.Open(ThisWorkbook.Path & "\层别不良.ppt") '打开当前工作簿目录下的指定ppt文档
- N = 1 '初始化记录号
- For Each Slide In .slides '循环幻灯片各个页面
- For Each Obj In Slide.Shapes '循环当前页面中的各个图形
- If Obj.Type = 7 Then '如果图形类型是7(即插入的excel工作表),则
- Obj.OLEFormat.doverb 2 '激活编辑该插入对象
- With ActiveWorkbook '激活编辑后的工作簿成为当前活动工作簿,所以针对活动工作簿进行操作
- .SaveAs ThisWorkbook.Path & "\Export-" & N, ThisWorkbook.FileFormat '另存为当前工作簿目录下指定名序列的工作簿,文件格式与当前工作簿相同
- .Close '关闭活动工作簿
- End With
- N = N + 1 '记录号递增
- End If
- Next Obj
- Next Slide
- .Saved = True '因为有对象编辑操作,这里将已保存属性设置为真(即可以实现不保存修改而退出)
- .Close '关闭当前ppt文档
- End With
- .Quit '退出powerpoint进程
- End With
- End Sub
详见附件与素材源帖
新建文件夹.rar |
2楼 o。星期八。o |
工作中经常遇到,谢谢分享 |
3楼 栤魉。。。 |
学习了 |
4楼 水星钓鱼 |
感谢分享 |
5楼 老糊涂 |
感谢分享 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一