欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mathematica 批量一键合并ppt

程序员文章站 2022-04-01 10:25:34
...

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

代码如下

Needs["NETLink`"]
PPTMerge[merged_,list_]:=Block[{pptmerged,ppt,client,pages},
	CopyFile[[email protected],merged];
	client=CreateCOMObject["PowerPoint.Application"];
	[email protected]@Open[merged];
	PrintTemporary[ProgressIndicator[Dynamic[i],{1,[email protected]}]];
	Do[
		[email protected]@Open[list[[i]]];
		[email protected]@Count;
		[email protected][];
		[email protected]@InsertFromFile[list[[i]],[email protected]@Count,1,pages],{i,2,[email protected]}];
	[email protected][];
	[email protected][];
	[email protected][];
	ReleaseCOMObject[client]]

使用方法

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

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

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

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

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