⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pptautomation.cs

📁 可以网站在线生成ppt
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Office.Core;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Graph = Microsoft.Office.Interop.Graph;
using System.Runtime.InteropServices;

/// <summary>
/// PPTAutomation 的摘要说明
/// </summary>
public class PPTAutomation
{
    ////  Dim objApp As PowerPointMe.Application
    ////Dim objPresSet As PowerPointMe.Presentations
    ////Dim objPres As PowerPointMe.Presentation
    ////Dim objSlides As PowerPointMe.Slides
    ////Dim objSlide As PowerPointMe.Slide
    ////Dim objTextRng As PowerPointMe.TextRange


    // PPT.Application objApp;
    // PPT.Presentations objPresSet;
    // PPT.Presentation objPres;
    // PPT.Slides objSlides;
    // PPT.Slide objSlide;
    // PPT.TextRange objTextRng;


    //public void CreateFile(string str)
    //{
    //    string template = @"D:\Program Files\Microsoft Office\Templates\Presentation Designs\Globe.pot";
    //    objApp = new PPT.Application();
    //    objApp.Visible = MsoTriState.msoTrue;
    //    objPresSet = objApp.Presentations;
    //    objPres = objPresSet.Open(template, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue);
    //    objSlide = objSlides.Add(1, PPT.PpSlideLayout.ppLayoutTitleOnly);
    //    objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 100, 100, 500, 80);
    //    objTextRng = objSlide.Shapes.Range(1).TextFrame.TextRange;
    //    objTextRng.Text = "These are my details";
    //    objTextRng.Font.Name = "Arial";
    //    objTextRng.Font.Size = 20;
    //}
    ////' public void CreateFile

    ////Sub CreateFile(ByVal array As StringCollection)

    ////    Dim strTemplate As String
    ////    strTemplate = "C:\\Program Files\\Microsoft Office\\Templates\\Presentation Designs\\Stream.pot"

    ////    'Create a new presentation based on a template.
    ////    objApp = New PowerPointMe.Application
    ////    objApp.Visible = MsoTriState.msoTrue
    ////    objPresSet = objApp.Presentations
    ////    objPres = objPresSet.Open(strTemplate, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue)
    ////    objSlides = objPres.Slides

    ////    'Adding One slide 
    ////    objSlide = objSlides.Add(1, PowerPointMe.PpSlideLayout.ppLayoutTitleOnly)

    ////    objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 100, 100, 500, 80)
    ////    objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 100, 150, 500, 80)
    ////    objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 100, 200, 500, 80)
    ////    objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 100, 250, 500, 80)
    ////    objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 100, 300, 500, 80)
    ////    objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 100, 350, 500, 80)
    ////    objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 100, 400, 500, 80)

    ////    objTextRng = objSlide.Shapes.Item(1).TextFrame.TextRange
    ////    objTextRng.Text = "These are my details"
    ////    objTextRng.Font.Name = "Arial"
    ////    objTextRng.Font.Size = 20

    ////    objTextRng = objSlide.Shapes(2).TextFrame.TextRange
    ////    objTextRng.Text = array(0)
    ////    objTextRng.Font.Name = "Arial"
    ////    objTextRng.Font.Size = 20

    ////    objTextRng = objSlide.Shapes(3).TextFrame.TextRange
    ////    objTextRng.Text = array(1)
    ////    objTextRng.Font.Name = "Arial"
    ////    objTextRng.Font.Size = 20

    ////    objTextRng = objSlide.Shapes(4).TextFrame.TextRange
    ////    objTextRng.Text = array(2)
    ////    objTextRng.Font.Name = "Arial"
    ////    objTextRng.Font.Size = 20

    ////    objTextRng = objSlide.Shapes(5).TextFrame.TextRange
    ////    objTextRng.Text = array(3)
    ////    objTextRng.Font.Name = "Arial"
    ////    objTextRng.Font.Size = 20

    ////    objTextRng = objSlide.Shapes(6).TextFrame.TextRange
    ////    objTextRng.Text = array(4)
    ////    objTextRng.Font.Name = "Arial"
    ////    objTextRng.Font.Size = 20

    ////    objTextRng = objSlide.Shapes(7).TextFrame.TextRange
    ////    objTextRng.Text = array(5)
    ////    objTextRng.Font.Name = "Arial"
    ////    objTextRng.Font.Size = 20

    ////End Sub

    //public PPTAutomation()
    //{
    //    //
    //    // TODO: 在此处添加构造函数逻辑
    //    //
    //}
    public void ShowPresentation()
    {
        String strTemplate, strPic;
        strTemplate = @"D:\Program Files\Microsoft Office\Templates\Presentation Designs\Globe.pot";
        strPic = "C:\\100_0130.jpg";
        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;

        //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.Object;
        objChart.ChartType = Graph.XlChartType.xl3DPie;
        objChart.Legend.Position = Graph.XlLegendPosition.xlLegendPositionBottom;
        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.Close();
        objApp.Quit();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -