Mathematica 批量一键合并ppt

python能干的事,麦酱当然也能干,只是可能没人会想到这么玩……

代码如下
Needs["NETLink`"]
PPTMerge[merged_,list_]:=Block[{pptmerged,ppt,client,pages},
	CopyFile[First@list,merged];
	client=CreateCOMObject["PowerPoint.Application"];
	pptmerged=client@Presentations@Open[merged];
	PrintTemporary[ProgressIndicator[Dynamic[i],{1,Length@list}]];
	Do[
		ppt=client@Presentations@Open[list[[i]]];
		pages=ppt@Slides@Count;
		ppt@Close[];
		pptmerged@Slides@InsertFromFile[list[[i]],pptmerged@Slides@Count,1,pages],{i,2,Length@list}];
	pptmerged@Save[];
	pptmerged@Close[];
	client@Quit[];
	ReleaseCOMObject[client]]
使用方法

先获取目录下的所有ppt文件,目录请用绝对路径

FileNames["D:\\merge\\*.ppt"]

然后调用函数进行合并,第一个参数是合并后的文件,也要用绝对路径,第二个参数是上一步获取到的文件列表,如果需要改变顺序可以自行sort上一步得到的数组

PPTMerge["D:\\merge\\merged.ppt", %]

合并过程都是程序自动操作,窗口闪来闪去什么的无视就好了,可以先去做自己的事情~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值