VBA - Powerpoint 2010 ppShp.Fill.UserPicture不更新图片

时间:2016-08-01 19:01:29

标签: image vba powerpoint

我有一个带有VBA脚本的Powerpoint演示文稿,每周都会更新图像。最近,我添加了2个额外的幻灯片和脚本来更新这些图像。

新图像不会更新,也不会引发错误。如果我单步执行该过程,它将转到正确的幻灯片,选择正确的形状,但

Call ppShp.Fill.UserPicture ("blah_blah.png")

不会替换图像。

如果我将这一行复制到其中有效的幻灯片之一,那就行了。

在下面的例子中,第一个有效,第二个没有。

'FEOL *******************************************************************
    ActiveWindow.View.GotoSlide (15)
    Set ppShp = ActivePresentation.Slides(15).Shapes("FEOL")
    ppShp.Select
    Call ppShp.Fill.UserPicture("D:\MIT Trends\Images\Feol_Composite.png")

   'LICONSEM *******************************************************************
    ActiveWindow.View.GotoSlide (16)
    Set ppShp = ActivePresentation.Slides(16).Shapes("LICONSEM")
    ppShp.Select
    Call ppShp.Fill.UserPicture("D:\MIT Trends\Images\LICONSEM.png")

同样,我可以看到它转到正确的幻灯片并选择正确的形状(在"中排列"面板中命名)。它只是没有填补。我尝试更改形状ID,但结果是一样的。我知道形状名称和图像名称是正确的。我甚至尝试过剪切/粘贴来确定。

使用第一部分的图像填写第二部分不起作用。使用第二部分中的图像填写第一部分。我觉得我必须遗漏一些明显的东西。

1 个答案:

答案 0 :(得分:0)

请在附件中找到我的代码。 首先,您需要在PPT中创建形状,然后运行代码。enter image description here