有没有人理解Powerpoint Presentation对象的SlideMaster属性?

时间:2016-10-19 21:49:19

标签: vba powerpoint powerpoint-vba object-model

我特指2016版,但这也适用于2013年和2010年。

----- TLDR摘要

  • 是否可以使用VBA使用方法添加新的幻灯片母版 我还没找到?
  • 是否可以使用VBA访问或操作布局 在Presentation对象中滑动除第一个之外的Masters?
  • 我怀疑两者的答案是"否"并且MS只有 搞砸了底层物体的暴露,但其他人可能会 比我更了解编程PPT。

------整个问题

微软认为PowerPoint不适合这些版本的宏录制器(我认为它在2003年或2007年从内存中删除),因此无法从那里获得帮助。

关联的MSDN"帮助" item很可悲。它声明该属性返回一个Master对象,但目前并不相关。

Office支持页面描述了幻灯片母版here。幻灯片母版似乎是演示文稿的幻灯片布局,可能是在SlideMaster的CustomLayouts属性中,尽管有趣的是,只有前9个CustomLayouts对应于您看到的内容在GUI中。 (我在一个新的空白演示文稿中计算了SlideMaster中的11个CustomLayout对象。)如果添加新布局,则数字会发生变化,尽管两个垂直文本布局似乎永远不会出现在GUI列表中。这也不是问题。

问题是,您可以通过转到“视图”菜单,“幻灯片母版”,然后选择“插入幻灯片母版”,每个演示文稿可以有多个幻灯片母版。 Office支持网站here上讨论了多个幻灯片母版。

坦率地说,我认为这个功能稍微有点破坏,因为如果你这样做,那么将一个主题应用到新的幻灯片母版,你最终得到一个 第三个​​ 幻灯片母版;原来在" Office主题",第二个"自定义设计"和第三个在您应用的主题名称下。这本身也不是问题。 (虽然值得注意的是演示文稿没有AddSlideMaster方法,这意味着VBA似乎无法做到这一点。并非你必须 想要 to,但如果你这样做了,你就不能。只有一个.AddTitleMaster方法似乎没用,因为据我所知,所有的演示文稿都有一个TitleMaster,如果一个演示文稿有一个那么方法将根据the documentation错误输出。)

问题是Presentation对象没有Slide Masters的 集合 。它只有一个属性SlideMaster,它返回一个Slide Master / Master对象。

因此,我无法以任何方式以编程方式添加新的幻灯片母版。即使你使用通过GUI添加的一个,你似乎 访问 除了第一个幻灯片母版之外的任何幻灯片母版。因此,您似乎无法从任何幻灯片母版中访问,操作或分配任何布局,而不是第一张幻灯片母版。

我在这个假设中是正确的,还是我错过了什么?

我会提前感谢,即使这些问题经常被删除。并不是说这个可能引起很多关注;我怀疑未来可能会有另一个Tumbleweed徽章。

1 个答案:

答案 0 :(得分:2)

也许这个页面有助于更好地理解它 - http://skp.mvps.org/2007/ppt003.htm