ppt、pptx的文件自动批量生成缩略图

需求:
将当前日期对应的“年-月”格式的文件夹下所有ppt及pptx文件的第一张幻灯片批量生成图片;
每天定时执行一次,生成上次未生成的文件

方案:

  1. 建立脚本文件ppttojpg.vbs,实现ppt、pptx文件生成jpg格式的缩略图(需安装powerpoint)

ppttojpg.vbs:

'' 导出当前时间对应的日期文件夹下所有 PowerPoint 演示文稿的第一张幻灯片
'' 并以图形文件格式保存在当前文件夹的日期格式子文件夹下
'' 变量声明和初始化
'' gq 2011年1月5日11:50:55

on error resume Next         ''出错跳到下一个循环(可预防当某文件损坏无法打开导致的执行停止的问题出现)

Dim wShell, pptApp, fso, folder, file, slide, outFile
Set wShell = WScript.CreateObject("WScript.Shell")
'' 获取当前文件夹
Set fso = CreateObject("Scripting.FileSystemObject")
'' 下面六行生成yyyy-mm格式
Dim sDate,sYear,sMonth,ympath
sDate =Now()
sYear = Year(date)
sMonth = Month(date)
if len(sMonth)=1 then sMonth="0"&sMonth End if
ympath = sYear & "-" & sMonth

'MsgBox(ympath)
'' 指向下一级的日期格式目录
Set folder = fso.GetFolder(wShell.CurrentDirectory+"/"+ympath)

'MsgBox(folder)
'' 打开 PowerPoint 应用程序
Set pptApp = WScript.CreateObject("PowerPoint.Application")
pptApp.Activate
'' 遍历当前文件夹下所有文件
For Each file in folder.Files
  '' 如果文件扩展名为 ppt(根据实际需要和 PowerPoint 程序版本,还可以是 pps, pptx 等)
   '' 设置输出文件名,此处使用原演示文稿名称
   ''大图
    outFile = Trim(Left(file.Path, InStrRev(file.Path, ".") - 1)) & ".jpg"
 ''缩略图
 outFileb_dump  = Trim(Left(file.Path, InStrRev(file.Path, ".") - 1)) & "_dump.jpg"
  'MsgBox(outFile)
  ''If UCase(Mid(file.Name, InstrRev(file.Name, ".") + 1)) = "PPT" Then

  '下一行增加pptx格式的文件(office 2007可用)和判断jpg文件不存在,再执行转换
  If ((UCase(Mid(file.Name, InstrRev(file.Name, ".") + 1)) = "PPT" Or UCase(Mid(file.Name, InstrRev(file.Name, ".") + 1)) = "PPTX" ) And Not fso.fileexists(outFile)) Then
    'MsgBox(file.Name)
    pptApp.Presentations.Open file.Path
    '' 此处只需要第一张幻灯片
    Set slide = pptApp.ActivePresentation.Slides(1)
    '' 如果需要导出多张幻灯片,使用如下循环
'     For Each slide in pptApp.ActivePresentation.Slides.Range(1)
        '' Export(String FileName, String FilterName, Long ScaleWidth, Long ScaleHeight)
        '' FilterName 可以为 gif, jpg, png, bmp, wmf, tif 等。
        slide.Export outFile, "jpg", 480, 360
        slide.Export outFileb_dump, "jpg", 160, 120
'     Next
    pptApp.Presentations(1).Close
  End If
Next
Set fso = Nothing
'' 退出 PowerPoint 应用程序
pptApp.Quit
'' 清理对象
Set pptApp = Nothing
Set wShell = Nothing
  1. 将上一步的vbs文件 加入到系统计划任务
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值