如何用VBA 将多怎么把几个ppt合并成一个 合并?

前言最近,杰哥工作中需要将多个PPT合并到一起。经过调研发现,合并多个PPT文件的方法有2种,即利用PPT自带的重用幻灯片和利用PPT插件。其中,重用幻灯片只能合并2个PPT,如果需要一次性合并大于等于3个PPT就只能两个两个来处理;PPT插件多种多样,其中免费有好用的就是OK插件。在杰哥发现好用的插件之前,曾经在业余时间利用VBA编写了一个简单的PPT合并程序。今天一并分享给大家。方法1:重用幻灯片重用幻灯片位于“插入”选项卡→新建幻灯片→重用幻灯片。如下图所示:选择需要插入的PPT文件后,就可以插入全部或部分幻灯片,见下图:重用幻灯片演示如下:注意,该种方法每次只能加载1个新的幻灯片,如果要合并多个幻灯片,需要依次加载。方法2:OK插件这个插件是一款免费开源的PPT插件,可以支持MS PPT和WPS,下载网址是:http://oktools.xyz/。官网界面如下:它可以实现多个ppt的批量合并,演示如下:注意,该种方法可以合并多个幻灯片,但缺点是无法控制幻灯片的合并顺序。方法3:自开发PPT合并工具V1.0本工具建立在Excel中,其功能特色为:1、一次性合并多个.pptx文件。本工具可以点击“添加文件”按钮(见图中①)在列表框中多次添加多个PPT文件。2、通过点击“上移”或“下移”按钮手动调整所要合并的PPT文件顺序,见图中②。3、删除列表框中选中的文件或者直接清空列表,见图中③。4、自定义保存合并PPT文件的位置,见图中④。该工具的动态演示如下:特殊说明:1、本工具建立在Excel系统中,需要运行宏。2、本工具的核心语言使用了VBA中的FileDialog对象,字典对象和窗体Active控件列表框对象。下载链接:链接:https://pan.baidu.com/s/1xZC_sdqVL-3Sh7b78sBDSQ?pwd=jgzn 提取码:jgzn }
我希望从多个PowerPoint演示文稿中删除未使用的母版幻灯片。文件列表位于Excel文件中。我写了一个宏来打开每个PowerPoint文件。我发现在PowerPoint VBA中使用的宏可以删除未使用的母版幻灯片,但当我将其包含在Excel宏中时,该宏不起作用。此外,我不设法保存和关闭每个PowerPoint文件。循环访问文件的宏:Sub Opennremove()
Dim myPresentation As Object
Dim PowerPointApp As Object
Set myPresentation = CreateObject("Powerpoint.application")
'Find last row of path files list
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
'Looping through files
For i = 1 To lastRow
'Defines pwp file to open
DestinationPPT = Cells(i, "A")
'opens pwp file
myPresentation.presentations.Open DestinationPPT
myPresentation.Visible = True
'Then I would like to : remove unused master slide, save, close
Next i
End Sub直接在PowerPoint中使用时起作用的宏:Sub SlideMasterCleanup()
Dim k As Integer
Dim n As Integer
Dim oPres As Presentation
Set oPres = ActivePresentation
On Error Resume Next
With oPres
For k = 1 To .Designs.Count
For n = .Designs(k).SlideMaster.CustomLayouts.Count To 1 Step -1
.Designs(k).SlideMaster.CustomLayouts(n).Delete
Next
Next k
End With
End Sub我该如何:删除Excel宏中的母版幻灯片保存并关闭每个PowerPoint文件,然后再转到下一个}
可以用 PowerPoint 的 VBA 脚本来实现。① 首先打开 PPT 中的 VBA 编辑器,并在新出现的编辑器窗口中点击「插入」→「模块」:在 Windows 版 PPT 中打开 Visual Basic 编辑器,并插入一个模块在 Mac 版 PPT 中打开 Visual Basic 编辑器,并插入一个模块在新插入的模块的编辑器中输入以下代码,然后点击顶部菜单栏中的三角按钮来运行:运行过程演示运行结束之后,会创建一个新的 ppt,其内容即为两个指定 ppt 的交替合并版本:交替合并最后 Ctrl + S 保存即可。上面用到的 VBA 代码如下:请将下面代码中的 strSlidesPath1
和 strSlidesPath2 的值分别修改成你的两个 ppt 对应的路径。关于如何复制文件路径,请参考「Win10中复制文件/文件夹路径(地址)的方法技巧」Sub MergeTwoPPT()
Dim strSlidesPath1 As String
Dim strSlidesPath2 As String
Dim pageCount As Long
Dim oTarget As Presentation
strSlidesPath1 = "C:\Users\Emrys\Desktop\Test\中文课件.ppt"
strSlidesPath2 = "C:\Users\Emrys\Desktop\Test\英文课件.ppt"
' Get number of slides
Set oTarget = Presentations.Open(strSlidesPath1, WithWindow:=True)
pageCount = oTarget.Slides.Count
oTarget.Close
' Create an empty presentation
Set oTarget = Application.Presentations.Add(WithWindow:=True)
For i = 1 To pageCount
' InsertFromFile _FileName_, _Index_, _SlideStart_, _SlideEnd_
oTarget.Slides.InsertFromFile strSlidesPath1, oTarget.Slides.Count, i, i
oTarget.Slides.InsertFromFile strSlidesPath2, oTarget.Slides.Count, i, i
Next i
End Sub在 Mac OSX 上运行上述脚本时,可能会先要求允许程序访问所要交替合并的两个 ppt 文件:【翻译】Microsoft PowerPoint 需要访问名称为“slides-cn.ppt” 的文件。请选择该文件以同意访问。只需要按提示依次同意两个文件的访问权限即可:选择要求访问权限的文件,并点击「同意访问/Grant Access」即可}

我要回帖

更多关于 怎么把几个ppt合并成一个 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信