【问题标题】:How do I tell PowerPoint to map two placeholders when switching slide layouts?切换幻灯片版式时如何告诉 PowerPoint 映射两个占位符?
【发布时间】:2020-02-04 18:43:54
【问题描述】:

我从一个工作示例开始:

  • 用空白演示文稿打开 PowerPoint。
  • 右键单击标题幻灯片并选择“布局 - 标题和内容”。
  • 您看到“• 单击以添加文本”吗?点击并添加一些文字。
  • 再次右键单击幻灯片并选择“布局 - 两个内容”。

看看 PowerPoint 有多智能?

  1. 您之前在单个占位符中输入的文本现在位于 两个 占位符之一中。
  2. 特别是左边那个。

我的问题:

  1. 为什么? (而不是在额外的一个?)
  2. 为什么? (而不是在正确的那个?)

我的问题出现是因为我收到了一组母版幻灯片,其中上述内容不起作用,我正在尝试修复它而无需重新生成所有内容。

【问题讨论】:

  • 关于一票关闭这个:我完全可以使用编程解决方案:)事实上,我认为这主要是PowerPoint API /文档格式定义的问题,而不是点击说明,我以为这些可能是这里的主题。

标签: powerpoint


【解决方案1】:

这是一个编程问题的网站,但这个问题背后的背景可能足够复杂。现代 PowerPoint 文件是 XML。在每个幻灯片版式的 XML 中,每个占位符都有一个 idx 参考编号。 PowerPoint 使用这些数字来决定内容的放置位置。

懒惰的设计师综合症是你所看到的原因。设计师没有按顺序创建新的占位符,因此 idx 编号将按逻辑顺序递增,而是复制并粘贴了占位符以避免额外的格式化工作。粘贴的占位符都具有相同的 idx 编号。因此,PowerPoint 不知道占位符的顺序,而是随机插入内容。

如果不编辑 XML,这并不总是很容易解决,但您可以尝试删除除最左边的占位符以外的所有内容。然后通过一次插入一个并手动重新格式化以匹配第一个来创建新的占位符。

【讨论】:

  • 谢谢,我可以编辑 XML 了;肯定会调查idx 数字(我之前在使用python-pptx 时遇到过这些数字)。
  • “PowerPoint 使用 [idx] 数字来决定内容的放置位置。” - 我可以请你参考一下这个声明吗?
  • 感谢您的回答,我能够从 MS 社区挖掘到这个非常有用的线程:answers.microsoft.com/en-us/msoffice/forum/all/…
  • 谢谢!我不认为看到重复的idx 数字,我不认为内容放置是随机的,但答案的其余部分应该是正确的。
  • @JohnKorchock “粘贴的占位符都具有相同的 idx 编号”在我当前的构建中不是正确的 AFAICS。我不相信 PowerPoint 允许占位符对象的重复 idx 值,并且在我的测试中,复制/粘贴的对象被分配了一个新的唯一 idx 值。
【解决方案2】:

起初我尝试按照上述方法失败了,但现在我也能正常工作了。

有两个不同但相似的标签,id="" 和 idx=""。 幻灯片中的所有对象都有一个 id="" 标签,这不是解决这个问题的标签。

idx="" 标记仅在占位符对象上,除了 Type=Title 的对象。 如上所述,您可以将其设置为 1 或更大的整数值(我假设)。

为布局中应替换哪些占位符对象制定计划。我将这些视为“组”或“家庭”,然后在整个幻灯片布局中一致地分配 idx 值。

这些占位符的“组”或“族”需要兼容才能正常工作,即匹配类型。没有 Type 意味着占位符是一个通用的 Content Type 并且匹配所有的 Types。

在布局更改期间,如果 Placeholders 具有不兼容的 Type 而具有相同的 idx-tag,PPT 将寻找下一个具有匹配 Type 的 Placeholder。

【讨论】:

    【解决方案3】:

    @JohnKorchok 接受的答案提供了此处描述的过程的技术细节。请注意,我的演示文稿中只有“内容占位符”。

    • 安装 7-Zip 和您最喜欢的文本编辑器(您可以使用带有 XML 格式化程序的一个,这会简化事情,但这不是必需的)。
    • 在 7-Zip 中打开您的 file.pptx(无需重命名为 .zip,只需右键单击并“打开存档”)
    • 导航到ppt/slideLayouts
    • 查看slideLayout....xml 文件列表。
    • 确定要编辑的那些,例如,打开每个并查找 <p:cSld name。 (这些数字可能仅表示布局的创建顺序,而不是它们现在在 PowerPoint 中显示的顺序 - 尽管在 PowerPoint 2016 中保存 .pptx 文件确实会为我修改幻灯片布局,以便显示顺序与文件名编号匹配。)
    • 查找<p:ph,直到找到要编辑的内容。您可能想忽略带有type="title"type="ftr"type="sldNum" 的那些。
    • 将所有其他占位符的idx 更改为12、...按照您希望它们填充的顺序(使用<p:cNvPr ... name= 来标识占位符)。
    • 保存 .xml 文件,关闭编辑器,然后 7-Zip 要求更新存档。回答“是”。

    所以我将idx 设置为1 用于我的1 内容布局中的一个占位符,设置为1 用于我的2 内容布局中的左侧占位符,并将2 设置为右侧占位符我的 2 内容布局。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-11
      • 2015-09-10
      • 2022-12-17
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多