如何根据 slide_id Python pptx 编辑幻灯片
How to edit slides based on slide_id Python pptx
问题
我一直在寻找解决方案,但找不到足够的文档来解决这个问题。我正在尝试编辑已复制到目录中的幻灯片。 (我已确保清除所有数据,只留下一些徽标) 我所做的是打印出幻灯片 ID 并尝试通过其 ID 访问幻灯片并希望添加一些初学者的文本框。但是,我一直收到
File "masterScript_2.2.py", line 7385, in <module>
title.text = "Hello, World!"
AttributeError: 'NoneType' object has no attribute 'text'
问题
有什么解决办法吗?谢谢,非常感谢。
代码
pptxDst = os.getcwd() + "/" + "test.pptx"
# Load the powerpoint in the respective month folder
prs = Presentation(pptxDst)
for slide in prs.slides:
print(slide.slide_id)
# Get the slide by id to access it
slide_1 = prs.slides.get(256)
print(slide_1)
title = slide_1.shapes.title
title.text = "Hello, World!"
prs.save("test.pptx")
您似乎可以正常访问幻灯片,但幻灯片没有标题占位符。
Shapes.title
returns 标题占位符(如果有),或者 None
如果幻灯片没有标题。如果您删除除徽标以外的所有形状,将找不到标题占位符。
这将使违规行等同于:
None.text = "Hello, World!"
这解释了您的错误消息 AttributeError: 'NoneType' object has no attribute 'text'
问题 我一直在寻找解决方案,但找不到足够的文档来解决这个问题。我正在尝试编辑已复制到目录中的幻灯片。 (我已确保清除所有数据,只留下一些徽标) 我所做的是打印出幻灯片 ID 并尝试通过其 ID 访问幻灯片并希望添加一些初学者的文本框。但是,我一直收到
File "masterScript_2.2.py", line 7385, in <module>
title.text = "Hello, World!"
AttributeError: 'NoneType' object has no attribute 'text'
问题 有什么解决办法吗?谢谢,非常感谢。
代码
pptxDst = os.getcwd() + "/" + "test.pptx"
# Load the powerpoint in the respective month folder
prs = Presentation(pptxDst)
for slide in prs.slides:
print(slide.slide_id)
# Get the slide by id to access it
slide_1 = prs.slides.get(256)
print(slide_1)
title = slide_1.shapes.title
title.text = "Hello, World!"
prs.save("test.pptx")
您似乎可以正常访问幻灯片,但幻灯片没有标题占位符。
Shapes.title
returns 标题占位符(如果有),或者 None
如果幻灯片没有标题。如果您删除除徽标以外的所有形状,将找不到标题占位符。
这将使违规行等同于:
None.text = "Hello, World!"
这解释了您的错误消息 AttributeError: 'NoneType' object has no attribute 'text'