我有一個包含3張幻燈片的Powerpoint演示文稿。每張幻燈片都有一個文本框,它是一個佔位符。我想替換一張幻燈片上的文本框內容。在Powerpoint幻燈片的文本框中更改文本
我需要知道如何做到這一點使用C#和OpenXML的
由於一噸
我有一個包含3張幻燈片的Powerpoint演示文稿。每張幻燈片都有一個文本框,它是一個佔位符。我想替換一張幻燈片上的文本框內容。在Powerpoint幻燈片的文本框中更改文本
我需要知道如何做到這一點使用C#和OpenXML的
由於一噸
這樣做對每張幻燈片,要更改:
ODP.ShapeTree tree = slide.Slide.CommonSlideData.ShapeTree;
foreach (ODP.Shape shape in tree.Elements<ODP.Shape>())
{
// Run through all the paragraphs in the document
foreach (ODD.Paragraph paragraph in shape.Descendants().OfType<ODD.Paragraph>())
{
foreach (ODD.Run run in paragraph.Elements<ODD.Run>())
{
if (run.Text.InnerText.Contains("PLACEHOLDER"))
{
run.Text = new ODD.Text("Your new text");
}
}
}
}
請記住,如果您的模板的佔位符包含空格,這可能會創建兩個單獨的運行元素。因此,您可以使用run.Text爲「Place」的一個run元素來運行,而run.text爲「Place」,另一個run.text爲「holder」。
我有一個場景,我只有段落,裏面沒有任何子元素。我試圖添加運行和文本元素,它仍然不工作。任何幫助表示讚賞 – Eldho
當我這樣做,並保存該文件,更改後的文本不存在。如果我在調試器中檢查'run.Text',它會顯示更新的文本。 –
你有這個工作嗎?你能夠發佈解決方案嗎? –