【问题标题】:How to get the collection of all shapes in a powerpoint document?如何获取PowerPoint文档中所有形状的集合?
【发布时间】:2020-07-03 18:49:23
【问题描述】:

我想知道是否有一种方法可以在 PowerPoint 文档中获取所有形状的集合,类似于 Word 中的Document.Shapes

根据 MSDN https://msdn.microsoft.com/en-us/library/office/ff746621.aspx

使用 Shapes 属性返回 Shapes 集合。以下 示例选择当前演示文稿中的所有形状。

ActivePresentation.Slides(1).Shapes.SelectAll

但我认为这只会给我第一页/幻灯片的形状。

【问题讨论】:

  • 你用过foreach吗? Foreach 幻灯片获取形状并将它们添加到在 foreach 之外声明的列表中
  • 谢谢,是的,我可以使用 foreach,但是当总是有一个包含文档形状的属性时,这是我的首选。由于可能有许多 PowerPoint 文档和许多幻灯片,我必须对其进行迭代,我认为这可能会影响我的 AddIn 的性能。
  • 也许有一个特定的功能可以选择所有的形状
  • MSDN 文档不正确。并且...“但是当总是有一个包含文档形状的属性时,这是我的首选”没有这样的属性。

标签: c# powerpoint


【解决方案1】:

没有。 Word 和 PowerPoint 是具有不同工作流程的不同野兽。 使用 ActivePresentation.Slides(1).Shapes,您将只能获得与指定幻灯片关联的形状。

按照建议,您需要遍历幻灯片以在 PowerPoint 中创建自己的全局形状列表。

【讨论】:

    【解决方案2】:

    我的解决方案是:

      var allShapes = Application.GetActiveInstance().ActivePresentation.Slides.Range().Shapes;
    

    它让我恢复了 PowerPoint 演示文稿的所有形状。

    【讨论】:

      猜你喜欢
      • 2021-03-30
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 2023-03-28
      • 2021-06-29
      • 2020-08-12
      • 1970-01-01
      • 2022-01-18
      相关资源
      最近更新 更多