【问题标题】:How do I grab the section title and change the title of the slides in the section?如何获取部分标题并更改部分中幻灯片的标题?
【发布时间】:2019-04-04 22:27:19
【问题描述】:

我正在用 VBA 编写一个脚本来将幻灯片的标题更改为部分标题。我有多个部分,我想通过 ppt 进行迭代以更改幻灯片的所有标题,使其部分标题与其部分相同。

我尝试找到如何获取部分标题并将其设置为幻灯片的标题。

Sub test()

ActivePresentation.Slides.Name = ActivePresentation.SectionProperties(sectionName)


End Sub

我需要添加迭代,我需要我相信语法是混乱的。

【问题讨论】:

    标签: vba powerpoint


    【解决方案1】:

    希望您正在寻找类似以下的内容。代码

    1. 循环浏览ActivePresentation 中的每张幻灯片,如果还没有标题,请添加标题。
    2. 通过获取幻灯片的sectionIndex 属性更改标题文本,然后在SectionProperties.Name 方法中使用该索引来检索相应的文本。

    Sub ChangeMyTitles()
        Dim sld As Slide
        Dim titleShape As Shape
    
        If ActivePresentation.SectionProperties.Count = 0 Then Exit Sub
    
        For Each sld In ActivePresentation.Slides
            With sld
                If Not .Shapes.HasTitle Then
                    Set titleShape = .Shapes.AddTitle
                Else
                    Set titleShape = .Shapes.Title
                End If
    
                titleShape.TextFrame2.TextRange.Text = ActivePresentation.SectionProperties.Name(.sectionIndex)
            End With
        Next sld
    End Sub
    

    编辑:

    如果您想修改与标题不同的占位符,您可以这样做。根据您的屏幕截图,我假设您要修改的占位符是第 3 个(标题为第 1,正文为第 2,章节为第 3),但您可能需要更改下面的 3

    Sub ChangeMyChapters()
        Dim sld As Slide
        Dim chapterShape As Shape
    
        If ActivePresentation.SectionProperties.Count = 0 Then Exit Sub
    
        For Each sld In ActivePresentation.Slides
            With sld
                Set chapterShape = .Shapes.Placeholders(3)
                chapterShape.TextFrame2.TextRange.Text = ActivePresentation.SectionProperties.Name(.sectionIndex)
            End With
        Next sld
    End Sub
    

    【讨论】:

    • 太棒了,你碰巧知道“章节”属性吗,我相信它是一个文本持有者,它就在标题上方/
    • 我不确定你在说什么。您能否添加示例幻灯片的屏幕截图并指出来?或者也许是幻灯片母版视图中的幻灯片屏幕截图,以便我可以看到它是哪个元素?
    • link我圈出来了,希望对你有帮助。
    • 是的,这有帮助。可能需要一些时间,但我会在今天晚些时候尝试看看。
    • 谢谢,您的代码较早地为标题工作。刚刚用PPT改变了计划。我一直在尝试修改代码。 VBA 有点令人困惑,哈哈。
    猜你喜欢
    • 2022-10-04
    • 2019-10-09
    • 2016-11-05
    • 2012-11-23
    • 2022-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-01-18
    • 2019-05-18
    相关资源
    最近更新 更多