ppt超级压缩工具 's

admin 2017年4月8日01:01:08评论248 views字数 1546阅读5分9秒阅读模式
摘要

来源:est's blog最近忙期末复习,才发现老师的课件都是 20MB 一个一个的,暴汗。分析了下,发现很多嵌入式的声音,而这些声音都是wav格式的,所以ppt被撑暴了,很不爽,所以研究了半个小时 Powerpoint.Application 这个VBA COM对象,写了个 SoundButtonRipper.vbs。

来源:est's blog

最近忙期末复习,才发现老师的课件都是 20MB 一个一个的,暴汗。分析了下,发现很多嵌入式的声音,而这些声音都是wav格式的,所以ppt被撑暴了,很不爽,所以研究了半个小时 Powerpoint.Application 这个VBA COM对象,写了个 SoundButtonRipper.vbs。

原理很简单,遍历一个ppt的所有形状(Presentation.Shapes),如果是自动绘图对象(AutoShape)并且类型是135(Sound Button),那么删除这个形状,最后另存为 原文件名_ripped.ppt

Windows Vista Ultimate 32bit, Windows Script Host 5.7, Office 2007 with VBA 测试通过

'======================================
'
'SoundButtonRipper.vbs V1.0
'
'Author:  est
'Email:    [email protected]
'Modified:  14:36 2007/7/9
'
'======================================
'全局变量
Dim PptApp, PptPre
Set PptApp=CreateObject("powerpoint.application")
PptApp.Visible=True '必须为True否则出错
PptApp.WindowState=1 '最小化以免影响视线
WScript.Sleep 1000
Function RipSndBtns(strFilePath)
Set PptPre=PptApp.Presentations.Open(strFilePath) '必须是完整路径,出错就用 8.3 路径
'Set PptPre=PptApp.ActivePresentation '测试用
For Each PptSlide In PptPre.Slides
  For Each PptShape In PptSlide.Shapes
    'WScript.Echo PptSlide.SlideIndex & "  " & PptShape.Type & "  " & PptShape.Id & "  " & PptShape.AutoShapeType 测试用
    If PptShape.Type=1 And PptShape.AutoShapeType=135 Then
        PptShape.Delete
    End If
  Next
Next
'分析ppt的路径,另存为 原文件名_ripped.ppt
strPathPart=Split(strFilePath,"/")
strFileName=strPathPart(UBound(strPathPart))
lenFileName=Len(strFileName)
Call PptPre.Saveas(Left(strFilePath,Len(strFilepath)-lenFileName) & Left(strfilename,lenFileName-4)&"_ripped.ppt")
Call PptPre.Close()
End Function
Call RipSndBtns(WScript.Arguments(0))
PptApp.Quit
'"E:/script/Powerpoint.Application/1.ppt" '测试用

测试了一下,一个20MB的ppt被压缩成 613KB,再WinRAR一下300KB,爽。

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月8日01:01:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ppt超级压缩工具 'shttps://cn-sec.com/archives/46395.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息