Replace text in slide

  • VSTO
  • Spire.Presentation
  • Download Sample Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Office = Microsoft.Office.Core;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Open ppt document
            PowerPoint.Presentation ppt = Application.Presentations.Open("../../Data/Sample.pptx");

            //Loop through all slides and shapes
            foreach (PowerPoint.Slide slide in ppt.Slides)
            {
                foreach (PowerPoint.Shape shape in slide.Shapes)
                {
                    //Replace the specified text
                    shape.TextFrame.TextRange.Replace("Spire", "Replacement", 0, Office.MsoTriState.msoFalse, Office.MsoTriState.msoFalse);
                }
            }  
   
            //Save the file         
            ppt.SaveAs("Replace.pptx");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Presentation;

namespace Spire.Presentation
{
    class Program
    {
        static void Main(string[] args)
        {
            //Load ppt document
            Presentation ppt = new Presentation();
            ppt.LoadFromFile("../../Sample.pptx");

            //Loop through all slides and shapes
            foreach (ISlide slide in ppt.Slides)
            {
                foreach (IShape shape in slide.Shapes)
                {
                    if (shape is IAutoShape)
                    {
                        foreach (TextParagraph tp in (shape as IAutoShape).TextFrame.Paragraphs)
                        {
                            //Replace the specified text
                            tp.Text=tp.Text.Replace("Spire", "Replacment");
                        }
                    }
                }
            }

            //Save and Launch
            ppt.SaveToFile("ReplaceText.pptx", FileFormat.Pptx2010);
            System.Diagnostics.Process.Start("ReplaceText.pptx");
        }
    }
}