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 } }