本帖最后由 went 于 2021-4-26 22:26 编辑
代码保存为test.bat,选择ansi编码
尺寸列表保存为size.txt 单位使用厘米,写两位小数,格式为:宽 高
test.bat和size.txt放到ppt文件夹中双击运行 | | | | | function ArrayTest(array,item){ | | for(var i=0;i<array.length;i++){ | | if(array[i] == item) | | return true; | | } | | return false; | | } | | | | function handlePPT(path){ | | | | ppt.Presentations.Open(path); | | | | var prst = ppt.ActivePresentation; | | for(var i=1;i<=prst.Slides.Count;i++){ | | | | for(var j=1;j<=prst.Slides.Item(i).Shapes.Count;j++){ | | | | var pic = prst.Slides.Item(i).Shapes.Item(j); | | var curWH = '' + (pic.Width/28.35).toFixed(2) + ' ' + (pic.Height/28.35).toFixed(2); | | if(ArrayTest(sizeList,curWH)){ | | WSH.Echo(curWH); | | WSH.Echo('第' + i + '页删除第' + j + '张图片:' + pic.Name); | | pic.Delete(); | | --j; | | WSH.Echo('-------'); | | } | | } | | } | | | | prst.Save(); | | prst.Close(); | | } | | | | var fso = new ActiveXObject('Scripting.FileSystemObject'); | | var ofs = fso.OpenTextFile('size.txt',1,false); | | var sizeList = []; | | while(!ofs.AtEndOfLine){ | | sizeList.push(ofs.ReadLine()); | | } | | ofs.Close(); | | WSH.Echo('删除尺寸列表:' + sizeList); | | var ppt = new ActiveXObject('PowerPoint.Application'); | | ppt.Visible = true; | | | | var fc = new Enumerator(fso.GetFolder('.').files); | | WSH.Echo('---------------------------------'); | | while(!fc.atEnd()){ | | if(!/\.(pptx|ppt)$/.test(fc.item().name)){ | | fc.moveNext(); | | continue; | | } | | WSH.Echo('处理: ' + fc.item().path); | | handlePPT(fc.item()); | | fc.moveNext(); | | WSH.Echo('---------------------------------'); | | } | | ppt.Quit();COPY |
|