反正知道文件在MS powerpoint或word中有什么对象

时间:2013-04-17 23:59:34

标签: python ms-office office-interop win32com

我使用win32com来处理Python中的office文档。 没有办法知道对象在win32com中有什么方法。 (通常,我们可以在Python中通过DIR(OBJ)获取属性或方法) 因此,如果我们想知道我的powerpoint文档有哪些属性或方法,只需查看MSDN

但是,我有一个包含大量对象的powerpoint文件。 但我不知道它的名称或类型。

例如,当我想访问powerpoint中的文本时,我可以使用Presentation.Slide.Textframe.TextRange.Text来访问它。

配方怎么样?如果我想访问它? 无论如何,当我在我的powerpoint文件中的对象上单击鼠标,然后显示该对象的类型是什么?

提前谢谢大家。

1 个答案:

答案 0 :(得分:1)

对于您的第一个问题,您希望使用MakePy实用程序创建早期绑定对象,以便您可以内省它们(即按Tab键并查看IDE中的所有方法)。它将减少95%的MSDN搜索

最简单的方法是转到PythonWin(与win32com一起安装)并转到Tools> COM Makepy Utility并选择您要使用的COM库(在您的情况下,它类似于'Microsoft PowerPoint 14.0 Object Library')。让这个运行,你就完成了。这也被描述为here

对于你的第二个问题,大卫指出大多数对象都是形状。运行MakePy实用程序后,您将能够看到整个PP对象模型。快速搜索帮助我找到了如何通过点击选择活动形状。

import win32com.client
app = win32com.client.Dispatch("PowerPoint.Application")

selectedShape = app.ActiveWindow.Selection.ShapeRange(1)

现在,您可以使用selectedShape来查找有关它的所有信息。