我在Power Point演示文稿的其中一张幻灯片上创建了一个自定义占位符,即Text Box Type的“CustomHeader”。如何遍历将Presentation Title插入此占位符的所有幻灯片。
我有以下代码,它在页脚中以自定义格式输入Page No。它还将Section插入幻灯片的页脚。我想在CustomHeader占位符中为每个匹配的幻灯片输入一些内容。
Sub SecFootNew()
Dim oshp As Shape
Dim b_found As Boolean
If ActivePresentation.SectionProperties.Count > 0 Then
Dim osld As Variant
For iSlide = 1 To ActivePresentation.Slides.Count
' Need Help with These
With ActivePresentation.Slides(2).Shapes.Placeholders(CustomHeader).TextFrame.TextRange
.Text = "Happy Honika"
End With
' The Following portion of the code is working Perfectly
If iSlide <> 1 Then
Set osld = ActivePresentation.Slides(iSlide)
' Configure Display of Page Number
With osld.HeadersFooters.DateAndTime
.Visible = False ' True For making the Date Visible
' .UseFormat = True
' .Format = ppDateTimedMMMyy
End With
' Configure Footer
osld.HeadersFooters.Footer.Visible = True
osld.HeadersFooters.SlideNumber.Visible = True
For Each oshp In osld.Shapes
If oshp.Type = msoPlaceholder Then
If oshp.PlaceholderFormat.Type = ppPlaceholderFooter Then
With oshp.TextFrame.TextRange
.Font.Name = "Calibri"
.Font.Size = 12
.Font.Color = RGB(255, 255, 255)
.Text = ActivePresentation.SectionProperties.Name(osld.sectionIndex)
End With
End If
If oshp.PlaceholderFormat.Type = ppPlaceholderSlideNumber Then
With oshp.TextFrame.TextRange
.Font.Name = "Calibri"
.Font.Size = 12
.Font.Color = RGB(255, 255, 255)
.Text = "Slide " & CStr(osld.SlideIndex) & " of " & CStr(ActivePresentation.Slides.Count)
End With
End If
End If
Next oshp
End If
Next iSlide
End If
End Sub
答案 0 :(得分:0)
由于您无法在幻灯片中添加占位符,我认为您的意思是您已将文本占位符添加到幻灯片母版中的一个自定义布局,并且您已重命名该占位符&#34; CustomHeader&#34;。
当基于该布局的幻灯片添加到演示文稿时,您的占位符将不再被调用&#34; CustomHeader&#34;。相反,它将被称为&#34;文本占位符3&#34;。因此,您的第一个任务是找到PowerPoint在插入时给出占位符的名称。
然后你可以在你的循环中简单地包含一个额外的条件:
if oshp.Name = "Text Placeholder #" then _
oshp.TextFrame.TextRange.Text = "Happy Honika"