VBscript 批量合并PPT

噢噢噢噢 2012-06-07 04:27:09
下面的代码怎么使用呃



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



...全文
482 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wygai 2012-09-09
  • 打赏
  • 举报
回复
是Excel VBA 。
1、将以上代码加入模块1
2、添加用户窗体UserForm1,在窗体上放置四个按钮,一个标签
3、编辑代码

'窗体UserForm1部分代码如下:
Private Sub CommandButton1_Click()
GetFiles
End Sub

Private Sub CommandButton2_Click()
SaveFileAs
End Sub

Private Sub CommandButton3_Click()
Merge
End Sub

Private Sub CommandButton4_Click()
Unload UserForm1
Application.Workbooks.Close
Application.Quit
End
End Sub

Private Sub UserForm_Initialize()
CommandButton1.Caption = "1、选择要合并的PPT文件"
CommandButton2.Caption = "2、将目标文件保存为..."
CommandButton3.Caption = "3、开始合并"
CommandButton4.Caption = "退出"
End Sub

'为WorkBook添加如下代码
Private Sub Workbook_Open()
UserForm1.Show
Application.WindowState = xlMinimized
End Sub
Q2565093493 2012-09-08
  • 打赏
  • 举报
回复
Set pptApp = CreateObject("PowerPoint.application")
看起来像vb代码 加入ppt引用构建vb试试!!
Microogle 2012-06-07
  • 打赏
  • 举报
回复
貌似VBA而不是VBSCRIPT,添加为宏并执行吧。

4,009

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧