Vba 如何将包含多张幻灯片的PowerPoint文件拆分为多个文件,每个文件包含一张幻灯片?
我有一个包含50张幻灯片的文件。我需要创建50个不同的文件,每个文件包含一张幻灯片。我想最快的方法包括VBA,但我不知道如何让VBA创建一个新文件,然后返回到主文件。假设您的意思是创建50个演示文稿,这将起作用。在运行代码之前创建目标文件夹:Vba 如何将包含多张幻灯片的PowerPoint文件拆分为多个文件,每个文件包含一张幻灯片?,vba,powerpoint,Vba,Powerpoint,我有一个包含50张幻灯片的文件。我需要创建50个不同的文件,每个文件包含一张幻灯片。我想最快的方法包括VBA,但我不知道如何让VBA创建一个新文件,然后返回到主文件。假设您的意思是创建50个演示文稿,这将起作用。在运行代码之前创建目标文件夹: Sub ExportSlides() For X = 1 To ActivePresentation.Slides.Count ActivePresentation.Slides(X).Export "c:\temp\slide" &
Sub ExportSlides()
For X = 1 To ActivePresentation.Slides.Count
ActivePresentation.Slides(X).Export "c:\temp\slide" & X & ".pptx", "PPTX"
Next X
End Sub
我终于发现:
Sub ExportSlides()
Dim oTempPres As Presentation
Dim X As Long
For X = 1 To ActivePresentation.Slides.Count
sFileName = "C:\Raw\Slide__" & X & ".pptx"
ActivePresentation.SaveCopyAs sFileName
Set oTempPres = Presentations.Open(sFileName, , , False)
For Y = (X + 1) To oTempPres.Slides.Count
oTempPres.Slides(X + 1).Delete
Next
For Y = 1 To X - 1
oTempPres.Slides(1).Delete
Next
oTempPres.Save
oTempPres.Close
Next X
End Sub
我为一个类似项目编写的代码应该可以将每个PPT文件拆分为它的PPT文件,并将其保存到包含原始PPT文件的文件夹中 一些警告: 它很难处理嵌入的图形,有时还会处理背景。 这将删除指定给幻灯片或模板的所有动画。如果您想保留动画或效果,只需去掉这些代码行 我还没有花时间去平滑自动显示UserForm,但是您可以通过转到Developer选项卡并从宏列表中运行OnPresentationOpen子例程来轻松地运行它。 根据您环境的安全设置,您可能还需要将包含此VBA的.pptm设置为受信任文档,然后它才能工作 选项显式 副代表笔 UserForm1.Show 端接头 公共子进程powerpointpptcalled 作为演示文稿的Dim pptMainPowerPt 暗滑记为长滑记 我想我会坚持多久 将幻灯片视为幻灯片 Dim newSaveName作为字符串 设置pptMainPowerPt=Presentations.OpenpptCalled slideCount=ActivePresentation.Slides.Count '首先从整个文档中删除所有动画 对于ActivePresentation.Slides中的每张幻灯片 对于i=cleansiled.TimeLine.MainSequence.Count到1步骤-1 '删除每个动画 cleansiled.TimeLine.MainSequence.Itemi.Delete 接下来我 下一张幻灯片 调试。打印幻灯片的数量为;幻灯片计数 调试。打印显示的名称为;pptcall Debug.Print ActivePresentation.Name newSaveName=LeftpptCalled,InStrpptCalled,.-1. 调试。打印子字符串名称为;newSaveName 如果i=1,则滑动计数 将新的演示文稿视为演示文稿 将newName设置为字符串 将当前幻灯片设置为幻灯片 newName=newSaveName+\u幻灯片&.pptx 设置currentSlide=pptMainPowerPt.Slides.Itemi 设置newPresentation=Application.Presentations.Add 当前幻灯片。复制 newPresentation.Slides.Paste newPresentation.SaveAs newName 新建演示文稿,结束 下一个 PPTMainPower关闭 端接头
循环播放幻灯片,在每次迭代中添加新演示文稿,将幻灯片复制到新演示文稿,保存并关闭新演示文稿。