在这里问这个没必要感到可怕。
如何做到这一点:
在 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 大神给我们评论的原因。