如何知道在Python中生成powerpoint时的形状编号
我试图用python生成Powerpoint,但我很难弄清楚ppt中的形状编号 例如:如何知道在Python中生成powerpoint时的形状编号,python,powerpoint,Python,Powerpoint,我试图用python生成Powerpoint,但我很难弄清楚ppt中的形状编号 例如: prs2.slides[1].shapes[3].table.cell(3,2).text_frame.text = 2000 prs2.slides[1].shapes[3].table.cell(3,2).text_frame.paragraphs[0].font.size = 12 我使用这些代码在第一张幻灯片上查找一个表,并将单元格(3,2)的文本值设置为2000,然后将大小更改为12。但我不知道如
prs2.slides[1].shapes[3].table.cell(3,2).text_frame.text = 2000
prs2.slides[1].shapes[3].table.cell(3,2).text_frame.paragraphs[0].font.size = 12
我使用这些代码在第一张幻灯片上查找一个表,并将单元格(3,2)的文本值设置为2000,然后将大小更改为12。但我不知道如何才能知道桌子是第一张幻灯片的形状[3]?我现在要做的是尝试从形状[0]到形状[3],但我认为必须有一种更简单的方法来识别形状编号
非常感谢你的帮助 通过
win32com
每个形状都应该有一个对应于。msoTable
类型的值为19
for sh in prs2.slides[1].shapes:
if sh.type == 19: # msoTable = 19
sh.table.cell(3,2).text_frame.text = 2000
sh.table.cell(3,2).text_frame.paragraphs[0].font.size = 12
break
如果您使用的是python pptx,请尝试使用graphicframe.has\u table
属性(注意:您可能需要先测试形状是graphicframe,还是相应地捕获错误):
我尝试了您的代码,但出现了一个错误:AttributeError:“GraphicFrame”对象没有属性“type”。当我使用sh.type时,似乎在sh之后没有选项“type”。您如何处理powerpoint?通过win32com或其他软件包?如果能包含这样的细节,那会很有帮助:)我使用的是pptx,而不是win32com,你熟悉pptx吗?我用过一两次。见修改后的答案。