Использование автоматизации для создания и отображения презентации PowerPoint с помощью Visual Basic .NET 2002 или Visual Basic .NET 2003

Аннотация

В этой статье описывается, как использовать автоматизацию для создания и отображения презентации Microsoft PowerPoint с помощью Microsoft Visual Basic .NET 2002 или Visual Basic .NET 2003.

Дополнительная информация

Создание клиента автоматизации для Microsoft PowerPoint

  1. Запустите Microsoft Visual Studio .NET 2002 или Visual Studio .NET 2003. В меню "Файл" нажмите кнопку "Создать" и выберите пункт "Проект". Выберите приложение Windows из типов проектов Visual Basic. Form1 создается по умолчанию.

  2. Добавьте ссылку на библиотеку объектов Microsoft PowerPoint и библиотеку объектов Microsoft Graph. Для этого выполните следующие действия:

    1. On the Project menu, click Add Reference.
    2. На вкладке COM найдите библиотеку объектов Microsoft PowerPoint и нажмите кнопку "Выбрать". Также найдите библиотеку объектов Microsoft Graph и нажмите кнопку "Выбрать".

    Примечание Microsoft Office 2003 и более поздних версий Microsoft Office включает основные сборки взаимодействия (PIA). Microsoft Office XP не включает персональные данные, но их можно скачать.

  3. Нажмите кнопку " ОК" в диалоговом окне "Добавление ссылок", чтобы принять выбранные параметры.

  4. В меню "Вид " выберите панель элементов , чтобы отобразить панель элементов, и добавьте кнопку в Form1.

  5. Дважды щелкните кнопку Button1. Появится окно кода для формы.

  6. В окне кода найдите следующий код:

        Private Sub Button1_Click(ByVal sender As System.Object, _
            ByVal e As System.EventArgs) Handles Button1.Click
    
    End Sub
    
    

    Замените его следующим кодом:

        Private Sub Button1_Click(ByVal sender As System.Object, _
            ByVal e As System.EventArgs) Handles Button1.Click
    
    Const sTemplate = _
               "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Blends.pot"
            Const sPic = "C:\WINNT\Soap Bubbles.bmp"
    
    Dim oApp As PowerPoint.Application
            Dim oPres As PowerPoint.Presentation
            Dim oSlide As PowerPoint.Slide
            Dim bAssistantOn As Boolean
    
    'Start Powerpoint and make its window visible but minimized.
            oApp = New PowerPoint.Application()
            oApp.Visible = True
            oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized
    
    'Create a new presentation based on the specified template.
            oPres = oApp.Presentations.Open(sTemplate, , , True)
    
    'Build Slide #1:
            'Add text to the slide, change the font and insert/position a 
            'picture on the first slide.
            oSlide = oPres.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
            With oSlide.Shapes.Item(1).TextFrame.TextRange
                .Text = "My Sample Presentation"
                .Font.Name = "Comic Sans MS"
                .Font.Size = 48
            End With
            oSlide.Shapes.AddPicture(sPic, False, True, 150, 150, 500, 350)
            oSlide = Nothing
    
    '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.
            oSlide = oPres.Slides.Add(2, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
            With oSlide.Shapes.Item(1).TextFrame.TextRange
                .Text = "My Chart"
                .Font.Name = "Comic Sans MS"
                .Font.Size = 48
            End With
            Dim oChart As Graph.Chart
            oChart = oSlide.Shapes.AddOLEObject(150, 150, 480, 320, _
                        "MSGraph.Chart.8").OLEFormat.Object
            oChart.ChartType = Graph.XlChartType.xl3DPie
            oChart = Nothing
            oSlide = Nothing
    
    'Build Slide #3:
            'Add a text effect to the slide and apply shadows to the text effect.
            oSlide = oPres.Slides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank)
            oSlide.FollowMasterBackground = False
            Dim oShape As PowerPoint.Shape
            oShape = oSlide.Shapes.AddTextEffect(Office.MsoPresetTextEffect.msoTextEffect27, _
                "The End", "Impact", 96, False, False, 230, 200)
            oShape.Shadow.ForeColor.SchemeColor = PowerPoint.PpColorSchemeIndex.ppForeground
            oShape.Shadow.Visible = True
            oShape.Shadow.OffsetX = 3
            oShape.Shadow.OffsetY = 3
            oShape = Nothing
            oSlide = Nothing
    
    'Modify the slide show transition settings for all 3 slides in
            'the presentation.
            Dim SlideIdx(3) As Integer
            SlideIdx(0) = 1
            SlideIdx(1) = 2
            SlideIdx(2) = 3
            With oPres.Slides.Range(SlideIdx).SlideShowTransition
                .AdvanceOnTime = True
                .AdvanceTime = 3
                .EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut
            End With
            Dim oSettings As PowerPoint.SlideShowSettings
            oSettings = oPres.SlideShowSettings
            oSettings.StartingSlide = 1
            oSettings.EndingSlide = 3
    
    'Prevent Office Assistant from displaying alert messages.
            bAssistantOn = oApp.Assistant.On
            oApp.Assistant.On = False
    
    'Run the slide show and wait for the slide show to end.
            oSettings.Run()
            Do While oApp.SlideShowWindows.Count >= 1
                System.Windows.Forms.Application.DoEvents()
            Loop
            oSettings = Nothing
    
    'Reenable Office Assisant, if it was on.
            If bAssistantOn Then
                oApp.Assistant.On = True
                oApp.Assistant.Visible = False
            End If
    
    'Close the presentation without saving changes and quit PowerPoint.
            oPres.Saved = True
            oPres.Close()
            oPres = Nothing
            oApp.Quit()
            oApp = Nothing
            GC.Collect()
        End Sub
    
    

    Примечание В этом коде константы sTemplate и sPic представляют полный путь и имя файла к шаблону PowerPoint и рисунку соответственно. При необходимости измените эти пути, чтобы использовать шаблон или рисунок, установленные в системе.

  7. Добавьте следующий код в начало Form1.vb:

    Imports Office = Microsoft.Office.Core
    Imports Graph = Microsoft.Office.Interop.Graph
    Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    
  8. Нажмите клавишу F5, чтобы выполнить сборку, а затем запустите программу.

  9. Нажмите кнопку Button1 в форме, чтобы создать и отобразить презентацию PowerPoint.

Ссылки

Дополнительные сведения см. на следующем веб-сайте Microsoft Developer Network (MSDN): Инструменты Visual Studio для обучения Microsoft Office System 2003