【问题标题】:PowerPoint VBA for tagging objects and dynamically updating text box slide references用于标记对象和动态更新文本框幻灯片引用的 PowerPoint VBA
【发布时间】:2015-05-27 18:13:45
【问题描述】:

想知道是否有一个宏可以自动更新其他幻灯片上对象的幻灯片引用。

例如,假设幻灯片 X 上有一个表格。我希望能够在幻灯片 5 上放置一个文本框并说“请参阅第 X 页”。

这些演示文稿是打印出来的,因此无法使用超链接。我们不想对引用进行硬编码,因为如果我们添加/删除幻灯片,我们不想返回并手动更新所有引用。

我的 VBA 知识非常有限。不知道如何“标记”一个对象然后引用它。

【问题讨论】:

    标签: vba reference tags powerpoint


    【解决方案1】:

    标记一个形状,假设它当前被选中:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-07
      • 2015-07-27
      • 2019-07-07
      • 2015-07-26
      • 2020-10-14
      • 2012-09-15
      • 1970-01-01
      相关资源
      最近更新 更多