在Python中生成powerpoint时如何知道形状的编号

2024-05-13 09:06:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用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

我使用这些代码在第一张幻灯片上找到一张表,并将cell(3,2)的文本值设为2000,然后将大小更改为12。但我不知道怎么知道这张桌子是第一张幻灯片的形状?我现在所做的是尝试从形状[0]到形状[3],但我认为肯定有更简单的方法来识别形状编号。在

非常感谢你的帮助!在


Tags: textsizetablecellframe形状font幻灯片
1条回答
网友
1楼 · 发布于 2024-05-13 09:06:08

通过win32com每个形状都应该有一个与msoShapeType enumeration相对应的^{} propertymsoTable类型的值为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属性(注意:您可能需要首先测试形状是graphicframe,还是相应的trap errors):

http://python-pptx.readthedocs.io/en/latest/api/shapes.html#graphicframe-objects

相关问题 更多 >