3

我在 Windows 7 上使用 Python 2.7.2 和 Office 2010。我有一个 Powerpoint 文件,其中包含指向目录中其他文档的链接。我想使用 Python 循环遍历形状标题,在目录中找到匹配的名称,并在 Powerpoint 文件中创建超链接。只要我能读懂这些形状说明,剩下的就可以了。

我设法做到了这一点,至少打开了 Powerpoint 文件:

import win32com.client

Presentation = Application.Presentations.Open("c:\\path\\to\\stnd4.pptx")

我找到了许多方法来添加尚不存在的幻灯片并添加形状或标题,但我似乎找不到任何方法来编辑现有的幻灯片。这让我可以添加一张幻灯片:

Base = Presentation.Slides.Add(1, 12)

但是任何试图打开或编辑现有幻灯片的操作都会失败:

Base = Presentation.Slides.Open(1)
Base = Presentation.Slides.Edit(1)

我也试过

help(Presentation)

但我只得到一般win32com信息,在 Powerpoint 幻灯片上什么都没有。谷歌搜索也没有出现太多。有什么线索吗?

4

1 回答 1

1

PowerPoint 对象模型中没有“打开”或“编辑”幻灯片的概念。相反,您会获得对幻灯片的引用(我怀疑您的“Base = Presentation.Slides.Add(1, 12)”行完成了)。

PowerPoint 具有分层对象模型:演示文稿包含幻灯片,幻灯片包含形状,形状具有各种属性,您可以通过它们的属性和方法修改这些属性。

我不使用 Python,也不知道它与 PPT 的交流有多充分,但是:

您的 BASE 对象(一张幻灯片,请记住)可能有一个 Shapes 集合。遍历 Shapes 集合并为每个形状尝试如下操作:

If the shape's .HasTextFrame property is true then
   If the shape's .TextFrame.HasText property is true then
      The shape's .TextFrame.TextRange.Text property will return the text in the shape.
于 2015-07-01T14:57:43.483 回答