如何获取主布局幻灯片名称

时间:2015-01-15 15:44:09

标签: vba powerpoint powerpoint-vba

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

Set mySlide = PowerPointApp.ActivePresentation.Slides(1)

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

谢谢,

卡罗。

3 个答案:

答案 0 :(得分:0)

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

ActivePresentation.Slides("Name")

per the MSDN

答案 1 :(得分:0)

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

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

  • 在每个页面上创建一个文本框,并将文本硬编码为"幻灯片:封面"或" Slide:QuarterlyResults"等
  • 遍历每张幻灯片
  • 找到"幻灯片:"并将其删除以获取页面标题。这样,如果幻灯片被复制到另一个PPT文档,名称就随之而来。
  • 创建一个Dictionary,它使用Slide.SlideID作为键,页面标题作为值。

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

是的,我知道......这是一个狡猾的黑客,但这是我能想到的唯一方法。

谢谢你的帮助,

卡罗。

答案 2 :(得分:0)

ActivePresentation.Slides(i).Master.Design.Name

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

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

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

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

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

你可以说的是 VBA :-).