首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >问与答115:如何使用VBA从Excel中复制图片并将其粘贴到PowerPoint的指定幻灯片?

问与答115:如何使用VBA从Excel中复制图片并将其粘贴到PowerPoint的指定幻灯片?

作者头像
fanjy
发布2021-04-21 16:37:14
发布2021-04-21 16:37:14
5K1
举报
文章被收录于专栏:完美Excel完美Excel

Q:我在Excel工作表中包含有1张图片,名称是默认的“图片 1”,我怎样编写VBA代码来打开一个已存在的PPT文件,先删除该PPT中所有的图片,然后将“图片 1”复制并粘贴到该PPT的第2张幻灯片中。

A:首先,添加对“MicrosoftPowerPoint XX.0 Object Library”库的引用,如下图1所示。

图1

然后,输入如下代码:

Sub PPT_Autom()

Dim ObjPPT As PowerPoint.Application

Dim oPresentation AsPowerPoint.Presentation

Dim oSlide As PowerPoint.Slide

Dim oShape As PowerPoint.Shape

Dim i As Long

Dim opath As String

opath = "E:\问与答115\exceltoppt.pptx"

Set ObjPPT = New PowerPoint.Application

ObjPPT.Visible = msoCTrue

Set oPresentation =ObjPPT.Presentations.Open(opath, msoCTrue)

'删除PPT中的所有图片

For Each oSlide In oPresentation.Slides

For i = oSlide.Shapes.Count To 1 Step-1

Set oShape = oSlide.Shapes(i)

If oShape.Type = msoPicture Then oShape.Delete

Next i

Next oSlide

Sheet1.Shapes("图片 1").Copy

ObjPPT.Activate

ObjPPT.ActiveWindow.View.GotoSlide (2)

ObjPPT.ActivePresentation.Slides(2).Shapes.PasteSpecial(DataType:=ppPasteMetafilePicture).Select

With ObjPPT.ActiveWindow.Selection.ShapeRange

.LockAspectRatio = False

.Left = 50

.Top = 50

.LockAspectRatio = False

.Height = 300

.Width = 300

End With

Set oSlide = Nothing

Set oPresentation = Nothing

End Sub

小结:

Excel与其他Office应用程序(例如Word、PowerPoint)相交互是常见的应用,因为他们都属于Office家族,因此很方便整合。

注:今天的这个问题来源于mrexcel.com论坛,略有修改,供有兴趣的朋友学习参考。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档