以下是事情:我需要一個VBA腳本,用於從其他人生成演示文稿。這裏的主要困難是大文件大小。最終的PPT將包含多達1000張幻燈片。我必須打開最初的PPT並對它們重新進行分類,以便長話短說。提高大型PPT幻燈片複製任務的性能
一個巨大的因素將是重新開放的任務。此時我無法立即打開所有這些文件,因爲機器會很快耗盡內存。
是否有時間節省或節省內存的方法來完成這項任務?由於這項任務主要是重新組織的事情,因此可能有辦法完成我的需求。
我會感謝任何幫助。 此致敬禮。
以下是事情:我需要一個VBA腳本,用於從其他人生成演示文稿。這裏的主要困難是大文件大小。最終的PPT將包含多達1000張幻燈片。我必須打開最初的PPT並對它們重新進行分類,以便長話短說。提高大型PPT幻燈片複製任務的性能
一個巨大的因素將是重新開放的任務。此時我無法立即打開所有這些文件,因爲機器會很快耗盡內存。
是否有時間節省或節省內存的方法來完成這項任務?由於這項任務主要是重新組織的事情,因此可能有辦法完成我的需求。
我會感謝任何幫助。 此致敬禮。
爲了將幻燈片從一個文件插入另一個文件,您需要自己打開源文件或讓PPT在後臺隱式執行。
如果你讓它做這項工作(即通過使用Slides.InsertFromFile方法),你只能插入連續的範圍,並且對於方法的每次調用,PPT都會打開/關閉文件。如果您需要使用不連續的範圍,則可以通過打開文件(如果您喜歡,無窗口)並自行管理複製過程來節省時間。這樣,您可以進行一些預先排序並僅打開一次每個源文件。
另外,如果將PPT保存爲PPTX而不是PPT,則當前版本的PPT將更快地打開文件,我注意到了。小文件的差異並不明顯,但隨着文件變大,可能會變得相當明顯。
感謝您的回答!只要我繼續編碼,我會記住這一點! – displayname
對問題的更好描述會有所幫助。你是否將每個子演示文稿中的所有幻燈片放入主要演示文稿中,然後以某種方式進行排序,或?和「重新開放的任務」......重新開放什麼?請注意,您可以使用ActivePresentation.Slides(x).MoveTo(y)將幻燈片x移動到位置y。很快。 –
嗨史蒂夫!例如,有10到20個演示文稿包含一些標準,最終只有4個演示文稿作爲初始演示文稿的混合文件獲得。我知道在演示文稿中排序幻燈片速度非常快。但我必須創建一個新的並將不同的幻燈片複製到新的ppt中。由於這些文件相當大,我擔心最後的腳本可能會運行得非常慢,因爲我必須一個接一個地打開這些文件並將它們保存到硬盤上。 – displayname