Vba 提高大型PPT幻灯片复制任务的性能

Vba 提高大型PPT幻灯片复制任务的性能,vba,scripting,ms-office,powerpoint,Vba,Scripting,Ms Office,Powerpoint,问题是:我需要一个VBA脚本,它可以从其他人那里生成power point演示文稿。这里的主要困难是文件太大。最终的PPT将包含多达1000张幻灯片。我必须打开最初的PPT,并对它们进行重新排序,以便长话短说 一个巨大的因素将是重新打开任务。我现在不能一次打开所有这些文件,因为机器的内存很快就会用完 是否有节省时间或内存的方法来完成此任务?由于这项任务主要是一项重新组织的工作,可能有一种方法可以满足我的需要 如果有任何帮助,我将不胜感激。 致以最良好的祝愿 要将幻灯片从一个文件插入另一个文件,您

问题是:我需要一个VBA脚本,它可以从其他人那里生成power point演示文稿。这里的主要困难是文件太大。最终的PPT将包含多达1000张幻灯片。我必须打开最初的PPT,并对它们进行重新排序,以便长话短说

一个巨大的因素将是重新打开任务。我现在不能一次打开所有这些文件,因为机器的内存很快就会用完

是否有节省时间或内存的方法来完成此任务?由于这项任务主要是一项重新组织的工作,可能有一种方法可以满足我的需要

如果有任何帮助,我将不胜感激。
致以最良好的祝愿

要将幻灯片从一个文件插入另一个文件,您需要自己打开源文件,或者让PPT在幕后隐式地完成

如果让它来做这项工作,也就是说,通过使用Slides.InsertFromFile方法,您只能插入连续的范围,并且对于该方法的每次调用,PPT将打开/关闭该文件。如果您需要处理非连续范围,您可以通过无窗口打开文件(如果您愿意)并自行管理复制过程来节省时间。这样,您就可以进行一些预排序,并只打开每个源文件一次


此外,我注意到,如果将当前版本的PPT另存为PPTX而不是PPT,那么它们打开文件的速度会大大加快。这种差异在小文件中并不明显,但随着文件变大,这种差异会变得非常明显。

更好地描述这个问题会有所帮助。您是否将每个子演示文稿中的所有幻灯片放入主演示文稿,然后以某种方式进行排序,还是???并重新打开任务。。。重开什么?请注意,您可以使用ActivePresentation.SlideESX.MoveToy将幻灯片x移动到位置y。很快。嗨,史蒂夫!例如,有10到20个演示文稿包含一些标准,因此最终仅获得4个演示文稿作为初始演示文稿的混合。我知道在演示文稿中对幻灯片进行排序非常快。但我必须创建一个新的ppt,并将不同的幻灯片复制到新的ppt中。由于这些文件相当大,我担心最终脚本可能会运行得非常慢,因为我必须一个接一个地打开这些PPT并将它们保存到硬盘。谢谢您的回答!我会记住这一点,只要我继续编码!