[英]Powerpoint vba update slide master
我有一個數量不多但不斷增長的PowerPoint演示文稿集合(約20個),它們全部基於同一張主幻燈片。 我要做的是確保如果我在這些文件中的任何一個上創建新的布局或修改現有的布局,則可以更新所有其他演示文稿以編程方式反映這一點。 這是我的嘗試。 我已經顯示了它在行上方產生的錯誤。
Sub UpdateTemplates()
Dim colFiles As New Collection
Dim vFile As Variant
Dim ppPres As Presentation
RecursiveDir colFiles, "C:\Users\Debra\Dropbox\School\Mathematics\Notes\Data", "*.pptm", True
For Each vFile In colFiles
Debug.Print "Updating templates in " & vFile
Set ppPres = Presentations.Open(vFile)
ppPres.ApplyTemplate ("C:\Users\Debra\Dropbox\School\Mathematics\Notes\Topic Blank.potm")
Next vFile
End Sub
首先 ,似乎您無法直接設置SlideMaster
屬性。 但是,您可以嘗試其他方法。
如果要將模板設置為打開的演示文稿或對Presentation
對象的引用,請執行以下操作:
ppPres.ApplyTemplate(ActivePresentation.FullName)
如果要將模板設置為磁盤上的文件:
ppPres.ApplyTemplate("C:\PATH-TO-FILE.potx")
其次 ,我不太了解循環中的邏輯。 首先,您獲得要循環播放的文件列表,然后循環播放所有打開的演示文稿,並在每次未找到匹配項時打開一次文件vFile
? 如果您打開了許多不相關的演示文稿, vFile
多次打開每個vFile
。
我的建議:
colFiles
ApplyTemplate("C:\\PATH-TO-FILE.potx")
命令設置模板(使用ActivePresentation
有時會導致意外的結果:-))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.