VSTO

VSTO (8)

Add image to slide master

2017-08-23 05:46:17 Written by zaki zou

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)
        {
            //Create empty presentation
            PowerPoint.Presentation ppt = this.Application.Presentations.Add();

            //Add a blank slide
            PowerPoint.Slide slide = ppt.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutBlank);

            //Get the master
            PowerPoint.Master master = ppt.SlideMaster;

            //Insert an image to slide master
            master.Shapes.AddPicture("../../image.gif", Office.MsoTriState.msoTriStateMixed, Office.MsoTriState.msoTriStateMixed, 700, 50, 247, 70);

            //Add a blank slide
            ppt.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutBlank);

            //Save the file
            ppt.SaveAs("MasterImage.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
    }
}

Add shapes to slide

2017-08-23 05:50:57 Written by zaki zou

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)
        {
            //Create ppt document
            PowerPoint.Presentation ppt = Globals.ThisAddIn.Application.Presentations.Add();

            //Add a blank slide
            PowerPoint.Slide slide = ppt.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutBlank);

            //Add rectangle shape
            slide.Shapes.AddShape(Office.MsoAutoShapeType.msoShapeRectangle, 50, 100, 100, 100);

            //Add arrow shape
            slide.Shapes.AddShape(Office.MsoAutoShapeType.msoShapeRightArrow, 200, 100, 100, 100);

            //Add triangle shape
            slide.Shapes.AddShape(Office.MsoAutoShapeType.msoShapeRightTriangle, 350, 100, 100, 100);

            //Save the file
            ppt.SaveAs("Shape.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
    }
}

Add table to slide

2017-08-23 05:53:43 Written by zaki zou

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)
        {
            //Create empty presentation
            PowerPoint.Presentation ppt = this.Application.Presentations.Add();

            //Add a blank slide
            PowerPoint.Slide slide = ppt.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutBlank);

            //Add table to slide
            PowerPoint.Shape shape = slide.Shapes.AddTable(6, 6, 0, 0, 800, 400);
            PowerPoint.Table table = shape.Table;

            //Loop the table to fill text
            for (int i = 1; i <= table.Rows.Count; i++)
            {
                for (int j = 1; j <= table.Columns.Count; j++)
                {                    
                    PowerPoint.TextFrame tf = table.Cell(i, j).Shape.TextFrame;
                    tf.TextRange.Text = "Row" + i.ToString() + "Col" + j.ToString();
                    tf.TextRange.ParagraphFormat.Alignment = PowerPoint.PpParagraphAlignment.ppAlignCenter;
                }
            }

            //Save the file
            ppt.SaveAs("Table.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
    }
}

page 1