在这里问这个没必要感到可怕。
如何做到这一点:
在 PPT 中,形状、幻灯片甚至演示文稿本身都可以有关联的标签集合;命名字符串值。例如,假设在 oSh 中引用了形状,您可以这样做:
oSh.Tags.Add "AssociatedSlideId", "293"
在这种情况下,您可以将此标签应用于您的图表; 293 将是您要引用的幻灯片的 SlideID。每张幻灯片在创建时都有一个唯一的 SlideID;当您移动幻灯片/添加/删除幻灯片时,SlideID 不会改变。
从形状中读取标签:
Debug.Print oSh.Tags("AssociatedSlideId")
在这种情况下,将返回“293”。将其提供给 FindBySlideID 以获取幻灯片的 SlideIndex(即幻灯片在演示文稿中的序号位置)。或者,如果您想要显示在数字占位符中的幻灯片编号(通常,但并不总是与幻灯片索引相同),请询问 SlideNumber。
Debug.Print ActivePresentation.Slides.FindBySlideID(clng("293")).SlideIndex
您还可以标记文本框或其他要用于保存引用的形状,然后按照以下方式编写函数:
Function ShapeTaggedWith(oSl as Slide, sTagName as String, sTagValue as String) as Shape
这将遍历幻灯片 oSl 上的形状,寻找带有名为 sTagName, value = sTagValue 的标记的形状,如果找到,则将其返回给调用者。
现在您可以找到指定为图表标题的形状,让我们调用它,并更改其文本以匹配图表应该引用的幻灯片的 SlideIndex(或 SlideNumber)。
希望这一切都比较清楚;如果没有,这就是 StackOverflow 之神给我们 cmets 的原因。