上百个只有一页的ppt文件,如何将他们合并到一个文件内?请复制以下宏PPTJoiner到VBE模块中(打开一个新的PowerPoint应用程序,按Alt+F11快捷键,并从“插入”菜单中选择“模块…”)。代码:SubPPTJoiner()DimfdAsFileDialog'引用FileDialog对象。Setfd=Application.FileDialog(msoFileDialogFilePicker)'包含每个选中项的路径。DimvntSelectedItemAsVariant'/*设置FileDialog对象的属性并调用相关方法。*/Withfd'允许多选。.AllowMultiSelect=True'清空过滤器。.Filters.Clear'添加过滤器。.Filters.Add所有PowerPoint演示文稿,*.pptx,*.ppt,*.pptm,*.ppsx,*.pps,*.ppsm,*.potx,*.pot,*.potm,*.odp'设置打开对话框的标题。.Title=请选择您要合并的PPT文件'/*用户点了打开按钮。*/If.Show=-1ThenDimiCountAsIntegerDimiAllAsIntegeriCount=0iAll=.SelectedItems.CountOnErrorResumeNext'/*遍历FileDialogSelectedItems集合中的每一个路径字符串.*/ForEachvntSelectedItemIn.SelectedItemsWithActivePresentation'/*幻灯片不为空。*/If.Slides.Count=0ThenDimclAsCustomLayoutDimintClAsIntegerintCl=.SlideMaster.CustomLayouts.Count'/*自定义布局不为空。*/IfintCl0ThenSetcl=.SlideMaster.CustomLayouts.Item(1).Slides.AddSlide1,clElseMsgBox找不到可用的自定义布局!,vbExclamation,PPTJoinerGoTonoCustomLayoutsEndIfEndIf.Slides.InsertFromFilevntSelectedItem,.Slides.Count'/*执行时遇到错误。*/IfErr.Number0Then'清除错误,以便下次继续捕获。Err.ClearIfiCount0TheniCount=iCount-1EndIfElseiCount=iCount+1EndIfEndWithNextMsgBox打开PPT文件数:&CStr(iAll)&vbNewLineMsgBox合并PPT文件数:&CStr(iCount),vbInformation,合并报告noCustomLayouts:'释放内存资源。IfNot(fdIsNothing)ThenSetfd=NothingEndIfEndWithEndSubcode.txt运行方法:方法1直接在新建的模块中按F5运行;方法2返回PowerPoint主界面,按下Alt+F8快捷键,在弹出的宏对话框中选择名为“PPTJoiner”的宏,然后单击“运行”按钮。注意事项:1.如果您需要对内容按顺序合并,请把PPT文件名更名为带有索引号或者其他能够按顺序排序的文件名,例如:PPT(1).ppt,PPT(2).ppt…,PPT(100).ppt(这个可以用系统的批量改名做到)2.由于您要合并的是100个PPT文件,请不要在宏执行期间点击鼠标、打开其他程序或文件,以免造成程序死锁;3.如果您无法运行这个宏,请按照以下步骤进行宏安全性设置:1).PowerPoint2003单击菜单“工具→选项→安全性”,单击“宏安全性”按钮,弹出“安全性”对话框,在“安全级”选项卡中进行选择即可。2).PowerPoint2007单击“Office按钮→选项→信任中心”,单击“信任中心设置”按钮,在弹出的“信任中心”对话框中选择“宏设置”,然后在右边的区域中选择。3).PowerPoint2010单击“文件→选项→信任中心”,单击“信任中心设置”按钮,在弹出的“信任中心”对话框中选择“宏设置”,然后在右边的区域中选择。摘自:代码有部分改动