Change text in text box in Powerpoint slide

I have a Powerpoint presentation that contains 3 slides. Each slide has a text box that holds the place. I would like to replace the contents of the text box on one slide.

I need to know how to do this using C # and OpenXML

Thanks a ton

+6
source share
1 answer

Do this for each slide you want to change:

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"); } } } } 

Keep in mind that if your template placeholders contain spaces, this can create two separate startup elements. Thus, instead of one run item with run.Text "Place place", you can get one run with run.text "Place" and another one with run.Text "holder".

+1
source

Source: https://habr.com/ru/post/914861/


All Articles