VBScript 批量合并PPT

Option Explicit
Public FileNames As Variant
Public SaveName As Variant
Public pptApp As Object

Sub GetFiles()
    FileNames = Application.GetOpenFilename _
    (FileFilter:="演示文稿(*.ppt),*.ppt", FilterIndex:=1, _
    MultiSelect:=True, Title:="打开需要合并的文件")
End Sub

Sub SaveFileAs()
    SaveName = Application.GetSaveAsFilename(InitialFileName:="文稿合并结果", _
    FileFilter:="演示文稿(*.ppt),*.ppt", FilterIndex:=1, _
    Title:="保存文稿合并结果")
End Sub
Sub Merge()
    Dim Pre As Object
    Dim i As Double
    Dim n As Double
    Err.Clear
    On Error Resume Next
    Set pptApp = CreateObject("PowerPoint.application")
    pptApp.DisplayAlerts = False
    On Error GoTo 0
    If Err.Number <> 0 Then
        Beep
        MsgBox "出错,系统没有安装 MS PowerPoint", vbOKOnly, "合并演示文稿"
        pptApp.Quit
        Application.Quit
    End If
    Err.Clear
    On Error Resume Next
    
    Set Pre = pptApp.Presentations.Add
    For i = LBound(FileNames) To UBound(FileNames)
        DoEvents
        n = Pre.Slides.Count
        Pre.Slides.InsertFromFile Index:=n, FileName:=FileNames(i)
        UserForm1.Label.Caption = "正在合并演示文稿…" & i & "个已完成!"
    Next
    On Error GoTo 0
    If Err.Number <> 0 Then
        Beep
        MsgBox "出现未知错误!退出?", vbOKOnly, "合并演示文稿"
        pptApp.Quit
        Application.Quit
    End If
    Pre.SaveAs (SaveName)
    pptApp.DisplayAlerts = True
    pptApp.Quit
    UserForm1.Label.Caption = "演示文稿合并完成!"
    UserForm1.cmdQuit.Caption = "确定(Q)"
    
End Sub


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值