簡體   English   中英

VBA Powerpoint:循環並重命名所有幻燈片

[英]VBA Powerpoint: loop through and rename all the slides

我希望重命名幾個演示文稿中的所有幻燈片,以便我可以輕松識別它們。 我將使用它們來構建其他演示文稿,並且需要一種方法來識別幻燈片是否來自某個先​​前的演示文稿。 當我嘗試循環瀏覽幻燈片時,在嘗試重命名幻燈片時出現只讀錯誤。 如何訪問和設置名稱? 當我嘗試更改“名稱”屬性時,sub 失敗。 非常感謝!

Sub EverySlideInPresentation1234(oPres As Presentation) ' 對當前活動演示文稿中的每張幻燈片執行一些操作

Dim oSl As slide

For Each oSl In oPres.Slides


    oSl.Name = (("updatePort: " & Now()))

Next oSl

結束子

我能夠重現這個。 問題是 Now() 返回 date + hh:mm:ss AM|PM 但是在您重命名第一張幻燈片和下一張幻燈片之間的時間不到一秒鍾,所以您最終放棄...試圖放棄 .. . 多張同名幻燈片。 PowerPoint 不允許這樣做。

使用這樣的東西來使幻燈片名稱唯一:

oSl.Name = (("updatePort: " & Now())) & " " & oSl.SlideIndex

或者使用標簽將數據存儲在幻燈片本身上,而不是使用名稱。 每張幻燈片都可以有一個具有相同值的標簽:

oSl.Tags.Add "UpdateTag", "updatePort: " & Now()

在我維護的 PowerPoint 常見問題網站上有更多關於使用標簽的信息,在這里:

使用標簽(以及一些關於函數的知識) http://www.pptfaq.com/FAQ00815_Working_with_Tags_-and_a_bit_about_Functions-.htm

暫無
暫無

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

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