想知道是否有可以自动更新其他幻灯片上对象的幻灯片引用的宏。
例如,假设幻灯片X上有一个表格。我希望能够在幻灯片5上放置一个文本框并说“参考第X页”。
这些演示文稿是打印的,所以使用超链接是行不通的。我们不想对引用进行硬编码,因为如果我们添加/删除幻灯片,我们不希望返回并手动更新所有引用。
我的VBA知识非常有限。不知道如何“标记”一个对象然后引用它。
答案 0 :(得分:0)
标记形状,假设它当前已被选中:
With ActiveWindow.Selection.ShapeRange(1)
.Tags.Add "TagName", "TagValue"
End With
例如,选择表格并:
With ActiveWindow.Selection.ShapeRange(1)
.Tags.Add "ShapeTag", "Table1"
' the value above should be unique
End With
将要更新的文本挂钩到表中将会有点棘手。我通过在文本形状中添加两个标签来接近它,第一个是要在文本框中显示的文本,但是幻灯片编号作为可替换参数包含在内;下一个标签将是对相关形状的引用:
With ActiveWindow.Selection.ShapeRange(1)
.Tags.Add "Text", "Refer to page #page#"
.Tags.Add "Shape", "Table1"
End With
要进行更新,您需要运行代码来检查每张幻灯片上的每个形状,以及形状是否具有Len(.Tags(“Shape”))> 0你可以调用一个查看每个幻灯片/每个形状的函数,并返回幻灯片编号,找到标记为“Table1”的形状。
然后在.Text标记中用幻灯片代替#page#替换它,并将其应用为形状的.TextFrame.TextRange.Text