我有一个Powerpoint演示文稿,其中包含一个VBA脚本用于每周更新图片。最近,我添加了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,但结果相同。我知道形状名称和图像名称是正确的。我甚至尝试了剪切/粘贴以确保。
使用第一部分的图像来填充第二部分不起作用。使用第二部分的图像来填充第一部分可以。我觉得我肯定错过了什么很明显的东西。
Call
吗?(你不需要使用这个关键字来调用对象的方法)。或者你可以尝试删除当前形状,并按照其中一个答案这里建议添加一个带有图片的新形状。 - David Zemens