首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Excel VBA早期绑定在Powerpoint中更改图像

使用Excel VBA早期绑定在Powerpoint中更改图像
EN

Stack Overflow用户
提问于 2019-08-20 15:08:00
回答 1查看 185关注 0票数 0

我正在尝试更改现有演示文稿中的图片。

其中一段代码工作正常,但另一段代码不工作。

你能告诉我第一个不起作用吗?

代码语言:javascript
复制
Option Explicit

Sub Open_Access_Replace_Save()

Dim ppt As PowerPoint.Application
Set ppt = New PowerPoint.Application

ppt.Visible = msoCTrue

'To open Existing Powerpoint Presentation
Dim ppres As PowerPoint.Presentation
Set ppres = ppt.Presentations.Open("E:\ExcelPowerpoint\Opening Presentation and Acessing Shapes\Single Slide.pptx")

Dim pslide As PowerPoint.Slide

Set pslide = ppres.Slides(2)

'Image Change

'Attempt 1
Dim l As Single
Dim t As Single
Dim h As Single
Dim w As Single
Dim shap As PowerPoint.Shape

l = pslide.Shapes(8).Left
t = pslide.Shapes(8).Top
h = pslide.Shapes(8).Height
w = pslide.Shapes(8).Width
pslide.Shapes(8).Delete

'This is not working
Set pslide.Shapes(8) = 
pslide.Shapes.AddPicture("C:\Users\Vinod\Desktop\news.jpg", msoFalse, msoTrue, l, t, w, h)

'This is working
Set shap = pslide.Shapes.AddPicture("C:\Users\Vinod\Desktop\news.jpg", msoFalse, msoTrue, l, t, w, h)
EN

回答 1

Stack Overflow用户

发布于 2019-08-20 22:39:24

您的代码将删除图片,然后尝试替换它。

这是一个更适合现实生活场景的sub,其中你还不知道照片的形状编号:

代码语言:javascript
复制
Sub ChangePictures()
  Dim oSlide As Slide
  Dim oShape As Shape, NewPic As Shape
  Dim pLeft!, pTop!, pWidth!, pHeight!

  For Each oSlide In ActivePresentation.Slides
    For Each oShape In oSlide.Shapes
      If oShape.Type = msoPicture Then
        With oShape
          pLeft! = .Left
          pTop! = .Top
          pWidth! = .Width
          pHeight! = .Height
          .PickUp
          .Delete
        End With
        Set NewPic = oSlide.Shapes.AddPicture2(FileName:="C:\TimeIcon.png", LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=pLeft!, Top:=pTop!, Width:=pWidth!, Height:=pHeight!)
        NewPic.Apply
      End If
    Next oShape
  Next oSlide
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57568341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档