Изменить текст в текстовом поле на слайде Powerpoint

У меня есть презентация Powerpoint, которая содержит 3 слайда. Каждый слайд имеет текстовое поле, которое является заполнителем. Я хотел бы заменить содержимое текстового поля на одном слайде.

Мне нужно знать, как сделать это с помощью C# и OpenXML

Благодаря тонну

1 ответ

Сделайте это для каждого слайда, который вы хотите изменить:

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. Таким образом, вместо одного элемента run с run.Text из "Place holder", вы можете получить один запуск с run.text из "Place", а другой - с run.Text "holder".

Другие вопросы по тегам