我有一个带有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,但结果是一样的。我知道形状名称和图像名称是正确的。我甚至尝试过剪切/粘贴来确定。
使用第一部分的图像填写第二部分不起作用。使用第二部分中的图像填写第一部分。我觉得我必须遗漏一些明显的东西。