课程大纲
第二章 Python10分钟入门
【2.1】:PyCharm社区版配置Anaconda开发环境
【2.2】:Python基础知识及正则表达式入门
第三章 Python操作Excel
【3.1】:xlrd 使用教程 读取 操作Excel
【3.2】:xlwt 使用教程 写入 操作Excel
【3.3】:xlutils 使用教程 修改 操作Excel
【3.4】:xlwings 使用教程 读取 写入 修改 操【作Excel
【3.5】:openpyxl 使用教程 读取 写入 修改 操作Excel
【3.6】:xlswriter 使用教程 读取 写入 修改 操作Excel
【3.7】:win32com 使用教程 读取 写入 修改 操作Excel
【3.8】:pandas 使用教程 读取 写入 修改 操作Excel
第四章 Python操作word
【4.1】:win32com 使用教程 操作word
【4.2】:python-docx 使用教程 操作word
第五章 Python操作ppt
【5.1】:win32com 使用教程 操作复制ppt PowerPoint
【5.2】:python-pptx 使用教程 操作ppt PowerPoint 添加文字 形状图表
win32com PowerPoint 官方文档:https://docs.microsoft.com/zh-cn/office/vba/api/powerpoint.shape.copy
5.1.1 pip安装win32com
pip install pypiwin32
由于我已经安装过了,所以提示已经安装:
5.1.2 win32com复制ppt模板
有时候我们需要对ppt的模板进行复制,然后再添加相应内容,由于python-pptx对复制模板也没有很好的支持(我没找到),所以我们用win32com对模板页进行复制,然后再用python-pptx增加ppt内容。
参考官方文档:https://docs.microsoft.com/zh-cn/office/vba/api/powerpoint.slide.copy
程序示例:
import win32com
from win32com.client import Dispatch
import os
# 获取当前脚本路径
def getScriptPath():
nowpath = os.path.split(os.path.realpath(__file__))[0]
print(nowpath)
return nowpath
# 5.1.2 win32com复制ppt模板页
def fun5_1_2():
ppt = Dispatch('PowerPoint.Application')
# 或者使用下面的方法,使用启动独立的进程:
# ppt = DispatchEx('PowerPoint.Application')
# 如果不声明以下属性,运行的时候会显示的打开word
ppt.Visible = 1 # 后台运行
ppt.DisplayAlerts = 0 # 不显示,不警告
# pptSel = ppt.Presentations.Add() # 创建新的PowerPoint文档
# 打开一个已有的PowerPoint文档
pptSel = ppt.Presentations.Open(getScriptPath() + "\\" + "5.1 win32 ppt测试.pptx")
# 复制模板页
pptSel.Slides(1).Copy()
# 粘贴模板页
pptSel.Slides.Paste()
# 操作ppt
print(pptSel.Slides(1).Shapes.Count)
pptSel.Slides(2).Shapes(1).TextFrame.TextRange.Text = "我是更改后的内容"
#pptSel.Slides(1).Shapes(1).Copy()
#pptSel.Slides(2).Shapes.Paste()
#pptSel.Slides(1).Shapes(1).Delete()
# pptSel.Save() # 保存
pptSel.SaveAs(getScriptPath() + "\\" + "new.pptx") # 另存为
pptSel.Close() # 关闭 PowerPoint 文档
ppt.Quit() # 关闭 office
if __name__ == '__main__':
fun5_1_2()
效果如下:
- 原ppt
- 执行程序后生成的ppt
以上模块功能可能没列举全,大家有什么希望的操作可以直接留言,我收到留言后会增加相关操作示例(若有),并对文章进行更新,谢谢大家!