当前位置:  首页>> 技术小册>> Python与办公-玩转PPT

当你看到修改“text”属性的时候有没有感觉有点熟悉?没错,实际上修改_Cell对象的text就是在修改文本框的文本,即修改的是TextFrame对象的text属性,我们可以通过访问_Cell对象的text_frame属性获得它的TextFrame对象。

所以事情变得简单了,如果你在学习文本框的时候有认真对待,修改单元格就没什么难度了,因为文本框的文本是由段落和Run对象控制的,而如何修改段落和Run,我们早在学习python-docx的时候就学过了。但是这里还是简单举一些例子方便你回忆吧,如果你还是不熟悉,就趁机练习这部分,这种基础操作到处可见,必须要掌握,代码如下:

  1. from pptx import Presentation
  2. from pptx.dml.color import RGBColor
  3. from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT,MSO_VERTICAL_
  4. ANCHOR
  5. from pptx.util import Cm,Pt
  6. ppt = Presentation()
  7. slide = ppt.slides.add_slide(ppt.slide_layouts[6])
  8. table = slide.shapes.add_table(4,3,Cm(3),Cm(3),Cm(20),
  9. Cm(10)).table
  10. # 获取TextFrame对象
  11. text_frame = table.cell(0,0).text_frame
  12. # TextFrame垂直方向居中对齐
  13. text_frame.vertical_anchor = MSO_VERTICAL_ANCHOR.MIDDLE
  14. # 获取文本框的第一个段落
  15. paragraph = text_frame.paragraphs[0]
  16. # 修改段落的文本内容
  17. paragraph.text = "Python"
  18. # 段落(水平)居中对齐
  19. paragraph.alignment = PP_PARAGRAPH_ALIGNMENT.CENTER
  20. # 获取段落的第一个Run对象
  21. run = paragraph.runs[0]
  22. # 修改字体
  23. run.font.name = "微软雅黑"
  24. run.font.size = Pt(20)
  25. run.font.color.rgb = RGBColor.from_string("ffffff")
  26. # 修改填充色
  27. fill = table.cell(0,0).fill
  28. fill.solid()
  29. fill.fore_color.rgb = RGBColor.from_string("708069")
  30. ppt.save("./ppt_ files/test.pptx")

关于文本的样式就不多提了,但填充色还是简单提一下。因为表格是一种形状,所以它也应该可以被填充,我们访问_Cell对象的f i ll属性就能拿到一个FillFormat对象,在学习填充形状颜色的时候就是用它控制形状的颜色的,要是忘了的话可以再翻回去瞄一眼。