有没有人知道如何在powerpoint中获取占位符形状的默认文本?
我使用默认文本(“在此处输入一些文字...”)在主文件中定义了一个占位符文本形状。
可以在演示文稿的幻灯片中覆盖文本。
我希望通过代码获取文本“在这里输入一些文字......” 有人可以帮忙。
答案 0 :(得分:0)
这是VBA完成这项工作。语言翻译留给精明的读者练习:
Dim osh As Shape
Dim oSl As Slide
Dim oLyt As CustomLayout
Dim x As Long ' VBA Long, not a .NET Long!
' for demo purposes, we'll work with a placeholder shape
' that I've selected
Set osh = ActiveWindow.Selection.ShapeRange(1)
' and in Real Life, you'd want to ensure that the
' shape really is a placeholder of the correct type
Set oSl = osh.Parent
Set oLyt = oSl.CustomLayout
For x = 1 To oLyt.Shapes.Count
If oLyt.Shapes(x).PlaceholderFormat.Type = osh.PlaceholderFormat.Type Then
Debug.Print oLyt.Shapes(x).TextFrame.TextRange.Text
End If
Next
这并不完美;它只是带你到布局的第一个占位符,它与你正在使用的形状具有相同的占位符类型。您可能在同一幻灯片及其相应的布局上有多个占位符,在这种情况下,这可能会给您不正确的结果。如果要防止这种情况,您可能需要测试父幻灯片上是否存在相同类型的其他占位符,如果这是第N个占位符,请确定N的值,然后在布局上找到第N个匹配的占位符。