我正在尝试用 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。但我不知道如何知道表格是第一张幻灯片的形状[3]?我现在正在做的是从shapes[0]到shapes[3]尝试,但我认为必须有一种更简单的方法来识别形状编号。
非常感谢您的帮助!
最佳答案
via win32com
每个形状应该有一个 type
property对应于msoShapeType enumeration 。 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_table
属性(注意:您可能需要首先测试形状是否是图形框架,或相应地捕获错误):
http://python-pptx.readthedocs.io/en/latest/api/shapes.html#graphicframe-objects
关于python - 如何在Python中生成powerpoint时知道它是什么形状的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45152996/