【问题标题】:VBA Powerpoint: loop through and rename all the slidesVBA Powerpoint:循环播放并重命名所有幻灯片
【发布时间】:2020-07-03 06:42:01
【问题描述】:

我希望重命名多个演示文稿中的所有幻灯片,以便我可以轻松识别它们。我将使用它们来构建其他演示文稿,并且需要一种方法来识别幻灯片是否来自某个先​​前的演示文稿。 当我尝试循环浏览幻灯片时,尝试重命名幻灯片时出现只读错误。如何访问和设置名称?当我尝试更改“名称”属性时,子失败。 非常感谢!

Sub EverySlideInPresentation1234(oPres As Presentation) ' 对当前活动演示文稿中的每张幻灯片执行一些操作

Dim oSl As slide

For Each oSl In oPres.Slides


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

Next oSl

结束子

【问题讨论】:

    标签: vba powerpoint


    【解决方案1】:

    我能够重现这一点。问题是 Now() 返回日期 + 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      相关资源
      最近更新 更多