我想使用VBA来大写我所有PowerPoint幻灯片标题中的每个单词。
到目前为止,这是我正在使用的代码:
Sub Capitalize()
Dim sld As Slide
For Each sld In ActivePresentation.Slides
sld.Title.TextFrame.TextRange.ChangeCase ppCaseTitle
Next sld
End Sub
通过突出显示“标题”并说“找不到方法或数据成员”来给我一个错误
非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
Slide
对象没有Title
属性。您需要查找包含标题文本的Shape
对象。
迭代.Shapes
集合并使用其Name
知道您何时找到包含您的标题的那个(然后您可以退出循环播放)。
这假设您已经命名了标题形状"标题"什么的。
Dim sld As Slide, shp As Shape
Dim found As Boolean
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.Name = "Title" Then
found = True
shp.TextFrame.TextRange.ChangeCase ppCaseTitle
End If
If found Then Exit For
Next
If found Then Exit For
Next
答案 1 :(得分:1)
Shapes对象上提供了Title对象,该对象映射到幻灯片的占位符标题。我还会使用HasTitle属性来检查幻灯片是否有标题。
Sub Capitalize()
Dim sld As Slide
For Each sld In ActivePresentation.Slides
If sld.Shapes.HasTitle Then
sld.Shapes.Title.TextFrame.TextRange.ChangeCase ppCaseTitle
End If
Next sld
End Sub