Vous êtes sur la page 1sur 5

using using using using

System; System.Collections.Generic; System.ComponentModel; System.Data;

using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing.Printing; using Microsoft.Office.Core; using Microsoft.Office; //using PowerPoint = Microsoft.Office.Interop.PowerPoint; //using Graph = Microsoft.Office.Interop.Graph; using System.Runtime.InteropServices; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ShowPresentation(); GC.Collect(); } private void ShowPresentation() { String strTemplate, strPic; strTemplate ="C:\\Program Files\\Microsoft Office\\Templates\\Presentation Desig ns\\Blends.pot"; strPic = "C:\\Windows\\Blue Lace 16.bmp"; bool bAssistantOn; PowerPoint. Application objApp; PowerPoint. Presentations objPresSet;

PowerPoint. _Presentation objPres; PowerPoint. Slides objSlides; PowerPoint. _Slide objSlide; PowerPoint. TextRange objTextRng; PowerPoint. Shapes objShapes; PowerPoint. Shape objShape; PowerPoint. SlideShowWindows objSSWs; PowerPoint. SlideShowTransition objSST; PowerPoint. SlideShowSettings objSSS; PowerPoint. SlideRange objSldRng; Graph. Chart objChart; Graph. DataSheet dataSheet; Graph. Series series; //Create a new presentation based on a template. objApp = new PowerPoint.Application(); objApp.Visible = MsoTriState.msoTrue; objPresSet = objApp.Presentations; objPres = objPresSet.Open(strTemplate, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue); objSlides = objPres.Slides; //Build Slide #1: //Add text to the slide, change the font and insert/position a //picture on the first slide. objSlide = objSlides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly); objTextRng = objSlide.Shapes[1].TextFrame.TextRange; objTextRng.Text = "My Sample Presentation";

objTextRng.Font.Name = "Comic Sans MS"; objTextRng.Font.Size = 48; objSlide.Shapes.AddPicture(strPic, MsoTriState.msoFalse, MsoTriState.msoTrue,150 , 150, 500, 350); //Build Slide #2: //Add text to the slide title, format the text. Also add a chart to the //slide and change the chart type to a 3D pie chart. objSlide = objSlides.Add(2, PowerPoint. PpSlideLayout.ppLayoutTitleOnly); objTextRng = objSlide.Shapes[1].TextFrame.TextRange; objTextRng.Text = "My Chart"; objTextRng.Font.Name = "Comic Sans MS"; objTextRng.Font.Size = 48; objChart = (Graph.Chart)objSlide.Shapes.AddOLEObject(150, 150, 480, 320,"MSGraph .Chart.8", "", MsoTriState.msoFalse, "", 0, "",MsoTriState.msoFalse).OLEFormat.O bject; dataSheet = objChart.Application.DataSheet; dataSheet.Cells[1, dataSheet.Cells[2, dataSheet.Cells[2, dataSheet.Cells[2, dataSheet.Cells[2, dataSheet.Cells[3, dataSheet.Cells[3, dataSheet.Cells[3, dataSheet.Cells[3, 2] 2] 3] 4] 5] 2] 3] 4] 5] = = = = = = = = = "abc"; "50"; "40"; "50"; "50"; "60"; "70"; "80"; "60";

//dataSheet.Cells[3, 6] = "0"; dataSheet.Cells[4, dataSheet.Cells[4, dataSheet.Cells[4, dataSheet.Cells[4, 2] 3] 4] 5] = = = = "50"; "40"; "50"; "50";

objChart.ChartType = Graph. XlChartType.xlColumnClustered; objChart.Legend.Position = Graph. XlLegendPosition.xlLegendPositionBottom; series = (Graph.Series)objChart.SeriesCollection(2); series.HasDataLabels = true; series.ApplyCustomType(Graph.XlChartType.xlLine); series.Smooth = true; series.MarkerStyle = Graph. XlMarkerStyle.xlMarkerStyleTriangle; series.MarkerSize = 6; series.MarkerBackgroundColor = 15; series.Border.Weight = Graph. XlBorderWeight.xlMedium; series.ApplyDataLabels(Graph.XlDataLabelsType.xlDataLabelsShowValue,false,false, false,false,false,true,false,false,","); objChart.Application.Update(); objChart.HasTitle = true;

objChart.ChartTitle.Text = "Here it is..."; //Build Slide #3: //Change the background color of this slide only. Add a text effect to the slide //and apply various color schemes and shadows to the text effect. objSlide = objSlides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank); objSlide.FollowMasterBackground = MsoTriState.msoFalse; objShapes = objSlide.Shapes; objShape = objShapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect27,"The End" , "Impact", 96, MsoTriState.msoFalse, MsoTriState.msoFalse, 230, 200); //Modify the slide show transition settings for all 3 slides in //the presentation. int[] SlideIdx = new int[3]; for (int i = 0; i < 3; i++) SlideIdx[i] = i + 1; objSldRng = objSlides.Range(SlideIdx); objSST = objSldRng.SlideShowTransition; objSST.AdvanceOnTime = MsoTriState.msoTrue; objSST.AdvanceTime = 3; objSST.EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut; //Prevent Office Assistant from displaying alert messages: bAssistantOn = objApp.Assistant.On; objApp.Assistant.On = false; //Run the Slide show from slides 1 thru 3. objSSS = objPres.SlideShowSettings; objSSS.StartingSlide = 1; objSSS.EndingSlide = 3; objSSS.Run(); //Wait for the slide show to end. objSSWs = objApp.SlideShowWindows; while (objSSWs.Count >= 1) System.Threading.Thread.Sleep(100); //Reenable Office Assisant, if it was on: if (bAssistantOn) { objApp.Assistant.On = true; objApp.Assistant.Visible = false; } //Close the presentation without saving changes and quit PowerPoint. objPres.SaveAs("C:\\abc.ppt", PowerPoint.PpSaveAsFileType.ppSaveAsPresentation, MsoTriState.msoTrue); objPres.Close(); objApp.Quit(); }

} }