PowerPoint VBA批量格式转换:pptx转pdf、ppt以及反向转换

这篇博客阅读量较大,借此为思杰马克丁做个广告。
揭露苏州小叶网络科技有限公司不齿行径  https://bbs.kafan.cn/thread-2095728-1-1.html
揭开软件行业毒瘤思杰马克丁的虚伪面纱  https://bbs.kafan.cn/thread-2091302-1-1.html 


        有时候需要把大量的pptx文件另存为其它格式,比如pdf、ppt,或者反向转换,可以用VBA批量处理。启动PowerPoint,按下Alt+F11,打开Microsoft Visual Basic for Applications,点击 插入>模块,将下面的代码粘贴进去,然后按F5(某些笔记本电脑可能需要按Fn+F5),或者点击图中的绿色小三角形,便可以执行代码。代码中涉及到的路径要根据自己的实际情况进行修改。代码中用到了open函数,并且将名为WithWindow的参数赋值为msoFalse,目的是打开文件时不在PowerPoint窗口中显示文件的内容,加快转换速度。Replace的作用是修改后缀名,SaveAs的作用是“另存为”。

想要合并多个ppt(x)文件或者提取提取其中的全部文字,参见https://www.docin.com/p-1283968237.html
想要提取pptx文件中的全部图片,可以把文件的后缀由pptx改为zip,用解压软件打开,进入ppt\media文件夹,全部图片都在此文件夹里面。该方法也适用于docx和xlsx,相应的路径分别是word\media和xl\media
要实现多个pdf文件的合并或者pdf转pptx,请使用Adobe Acrobat.
要实现以2X4布局紧凑打印幻灯片,请先另存为pdf,再到pdf文件的打印设置里设为“多页”,2X4.


Word的批量转换参见 https://blog.csdn.net/pijianzhirui/article/details/78668695
Excel的批量转换参见 https://blog.csdn.net/pijianzhirui/article/details/85939896

 还有一个名为Office Tool Plus(官网:https://otp.landian.vip/zh-cn/)的工具也可以进行批量格式转换。

'pptx转pdf、ppt
Option Explicit
Sub pptxConverter()
On Error Resume Next
Dim sEveryFile As String,sSourcePath As String,sNewSavePath As String
Dim CurPpt As Object
sSourcePath = "E:\PPTX文件\"  
'假定待转换的pptx文件全部在"E:\PPTX文件\"下,你需要按实际情况修改。
sEveryFile = Dir(sSourcePath &"*.pptx")
Do While sEveryFile <> ""
   Set CurPpt = Presentations.Open(sSourcePath & sEveryFile, msoTrue , , msoFalse)
   sNewSavePath = VBA.Strings.Replace(sSourcePath & sEveryFile, ".pptx", ".pdf")
   '如果想导出ppt,就把第12行行尾的pdf换成ppt
   '如果想把ppt转为pptx,把第9行的pptx改为ppt,把第12行行尾的 ".pptx", ".pdf"改为 ".ppt", ".pptx"
   '转化后的文件也在"E:\PPTX文件\"下,当然你可以按需修改。
   CurPpt.SaveAs sNewSavePath, ppSaveAsPDF
   'pdf对应ppSaveAsPDF,ppt对应ppSaveAsPresentation,pptx对应ppSaveAsDefault
   '更多格式可参见文末的截图PpSaveAsFileType
   CurPpt.Close SaveChanges:=False
   sEveryFile= Dir
Loop
Set CurPpt = Nothing
End Sub

扫描二维码关注公众号,回复: 9329451 查看本文章
发布了45 篇原创文章 · 获赞 98 · 访问量 35万+

猜你喜欢

转载自blog.csdn.net/pijianzhirui/article/details/85936272