【问题标题】:How to get the master layout slide name如何获取主布局幻灯片名称
【发布时间】:2015-01-15 15:44:09
【问题描述】:

我正在使用 Excel 电子表格中的数据填充 PowerPoint 幻灯片。目前,我正在使用页码访问幻灯片:

Set mySlide = PowerPointApp.ActivePresentation.Slides(1)

使用 UI 中的主视图选项,您可以重命名幻灯片。如何使用该名称找到幻灯片?

谢谢,

卡洛。

【问题讨论】:

  • 我不清楚你想做什么......找到具有特定名称的幻灯片或具有特定名称的布局,或者找到当前幻灯片所基于的布局的名称。 ActivePresentation.Slides("Carlo") 将返回对名为“Carlo”的幻灯片的引用...如果有的话。
  • 我希望能够给每张幻灯片一个唯一的名称(通过 PPT UI),然后能够使用在 Excel 中运行的脚本使用该名称找到幻灯片。每张幻灯片都有一个 UniqueID 参数,但如果我们将一张幻灯片从一个演示文稿复制到另一个演示文稿,我仍然需要能够将幻灯片“XYZ”识别为相同的东西,但我怀疑 UniqueID 值会随着幻灯片移动。

标签: vba powerpoint


【解决方案1】:
ActivePresentation.Slides(i).Master.Design.Name

是您在幻灯片的主视图中看到的主题名称。

layoutIndex = ActivePresentation.Slides(i).CustomLayout.Index

是上述主题中幻灯片的当前布局。

ActivePresentation.Slides(i).Master.Design.Parent.CustomLayouts.Item(layoutIndex).Name

是当前选定的幻灯片布局的布局名称。

这就是你可以说的 VBA :-)。

【讨论】:

    【解决方案2】:

    使用Slide.Name 属性将定义幻灯片的名称并允许使用以下方法调用它:

    ActivePresentation.Slides("Name")
    

    per the MSDN

    【讨论】:

    • 但是,如何通过 UI 设置 Slide.Name 属性?我有一个 PPT 演示文稿,用作模板。我需要为每个现有页面以及添加的任何新页面设置 Name 属性。
    • 您只能通过代码访问幻灯片名称;如果您需要将其公开给用户,则必须提供 UI。如果只需要为每张幻灯片创建全局唯一 ID(而不是给定演示文稿 ID 的唯一 ID),那么生成和分配 GUID 作为幻灯片名称的代码可能会起作用。
    【解决方案3】:

    所以,我想要的是一种通过 VBA 唯一标识 PPT 幻灯片的方法。问题是,如果将幻灯片复制到另一个 PPT 文档中,我仍然需要能够识别该幻灯片。

    所以,我发现我必须做的是:

    • 在每个页面上创建一个文本框并将文本硬编码为“Slide:Cover”或“Slide:QuarterlyResults”等内容。
    • 循环播放每张幻灯片
    • 找到“幻灯片:”并将其剥离以获取页面标题。这样,如果将幻灯片复制到另一个 PPT 文档,名称就会随之而来。
    • 创建一个字典,使用 Slide.SlideID 作为键,页面标题作为值。

    然后我要做的是遍历幻灯片,获取 SlideID,使用 Dictionary 获取页面标题并使用 Select 语句映射到处理幻灯片的正确方法。

    是的,我知道...这是一个令人讨厌的 hack,但这是我能想到的唯一方法。

    感谢您的帮助,

    卡洛。

    【讨论】:

    • 首先提供问题的所有详细信息会为您节省一些时间,也许这可以为您节省一些工作:查找 .Tags 每张幻灯片可以有尽可能多的标签(名称/值对)随你喜欢;无需重新发明您在上面提出的轮子。 ;-)
    • 感谢史蒂夫的回复。当我第一次开始这个时,我认为布局会给我我需要的东西。我是 PowerPoint 新手。当我深入了解它时,我意识到它不会。我查找了 .Tags,但没有看到如何通过 UI “标记”幻灯片。 (我错过了什么吗?)我需要生成幻灯片的人能够给它一个唯一的名称,然后我可以通过代码访问它。
    猜你喜欢
    • 1970-01-01
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    相关资源
    最近更新 更多