0
有誰知道一種方式來獲取佔位符形狀的默認文本在PowerPoint中?C#PowerPoint Interop:獲取佔位符文本框的默認文本
我使用默認文本(「在此輸入一些文本...」)在主文件中定義了一個佔位符文本形狀。
該文本可以覆蓋在演示文稿的幻燈片中。
我想通過代碼獲得文本「在此輸入一些文本...」! 有人可以請幫忙。
有誰知道一種方式來獲取佔位符形狀的默認文本在PowerPoint中?C#PowerPoint Interop:獲取佔位符文本框的默認文本
我使用默認文本(「在此輸入一些文本...」)在主文件中定義了一個佔位符文本形狀。
該文本可以覆蓋在演示文稿的幻燈片中。
我想通過代碼獲得文本「在此輸入一些文本...」! 有人可以請幫忙。
這裏是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個匹配的佔位符。
謝謝你的接吻。不幸的是,這是我需要它的相反方向。我的目標是從佈局中的佔位符引用幻燈片上的相應占位符文本框。由於沒有「本地方式」,我的想法是通過佔位符默認文本來獲取它。但這似乎也不可能。不能理解爲什麼微軟不提供任何可能性來獲得幻燈片上佈局佔位符和文本框之間的引用。 :-( – Tobias
相同的一般策略將適用於此,但讓我問一下目標是什麼 –
我有一個佈局,佔位符在主控中定義,需要基於佈局的幻燈片的相應文本框,因爲我必須驗證這一個。 – Tobias