# 自动添加幻灯片 def duplicate_slides(_path_template, _path_dest, _slide_nums, _index=SLIDE_START_PAGE): """ 输入参数: :param _path_template:PPT模板文件全路径 :param _index:PPT母版业起始索引。索引从1开始。 :param _slide_nums:将要复制的PPT页数 :param _path_dest:PPT课件存放全路径 功能:自动添加幻灯片页数。 """ assert _path_template.exists(), f'模板文件不存在!!!<->{_path_template}' ppt = Dispatch('PowerPoint.Application') # 启动PowerPoint pres = ppt.Presentations.Open(_path_template) # 打开幻灯片文件 pres.Slides(_index).Copy() # 复制模板页 for _ in range(_slide_nums - 1): pres.Slides.Paste(_index) # 粘贴模板页 pres.SaveAs(_path_dest) # 另存为 pres.Close() # 关闭 PowerPoint 文档 ppt.Quit() # 退出PowerPoint应用 # 删除ppt页面 def delete_slides(_path_template, _path_dest, _slide_nums, _index=SLIDE_START_PAGE): """ 输入参数: :param _path_template:PPT模板文件全路径 :param _index:PPT母版业起始索引。索引从1开始。 :param _slide_nums:将要创建的PPT页数 :param _path_dest:PPT课件存放全路径 功能:自动添加幻灯片页数。 """ assert _path_template.exists(), f'模板文件不存在!!!<->{_path_template}' ppt = Dispatch('PowerPoint.Application') # 启动PowerPoint pres = ppt.Presentations.Open(_path_template) # 打开幻灯片文件 slide_count = pres.Slides.Count # 获取幻灯片的页数 assert slide_count > _slide_nums, '幻灯片页数不足!!!' del_list = list(range(_index, slide_count - _slide_nums)) pres.Slides.Range(del_list).Delete() # 删除第3张后面的幻灯片页面 pres.SaveAs(_path_dest) # 另存为 pres.Close() # 关闭 PowerPoint 文档 ppt.Quit() # 退出PowerPoint应用
标签:Python,pywin32,param,slide,win32com,幻灯片,template,path,pres From: https://www.cnblogs.com/zdt168/p/18400927