簡體   English   中英

Powerpoint VBA更新幻燈片母版

[英]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

我的建議:

  1. 關閉所有打開的演示文稿
  2. 循環colFiles
  3. 使用ApplyTemplate("C:\\PATH-TO-FILE.potx")命令設置模板(使用ActivePresentation有時會導致意外的結果:-))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM