Использование автоматизации для создания и отображения презентации PowerPoint с помощью Visual Basic .NET 2002 или Visual Basic .NET 2003
Аннотация
В этой статье описывается, как использовать автоматизацию для создания и отображения презентации Microsoft PowerPoint с помощью Microsoft Visual Basic .NET 2002 или Visual Basic .NET 2003.
Дополнительная информация
Создание клиента автоматизации для Microsoft PowerPoint
Запустите Microsoft Visual Studio .NET 2002 или Visual Studio .NET 2003. В меню "Файл" нажмите кнопку "Создать" и выберите пункт "Проект". Выберите приложение Windows из типов проектов Visual Basic. Form1 создается по умолчанию.
Добавьте ссылку на библиотеку объектов Microsoft PowerPoint и библиотеку объектов Microsoft Graph. Для этого выполните следующие действия:
- On the Project menu, click Add Reference.
- На вкладке COM найдите библиотеку объектов Microsoft PowerPoint и нажмите кнопку "Выбрать". Также найдите библиотеку объектов Microsoft Graph и нажмите кнопку "Выбрать".
Примечание Microsoft Office 2003 и более поздних версий Microsoft Office включает основные сборки взаимодействия (PIA). Microsoft Office XP не включает персональные данные, но их можно скачать.
Нажмите кнопку " ОК" в диалоговом окне "Добавление ссылок", чтобы принять выбранные параметры.
В меню "Вид " выберите панель элементов , чтобы отобразить панель элементов, и добавьте кнопку в Form1.
Дважды щелкните кнопку Button1. Появится окно кода для формы.
В окне кода найдите следующий код:
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 и рисунку соответственно. При необходимости измените эти пути, чтобы использовать шаблон или рисунок, установленные в системе.
Добавьте следующий код в начало Form1.vb:
Imports Office = Microsoft.Office.Core Imports Graph = Microsoft.Office.Interop.Graph Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
Нажмите клавишу F5, чтобы выполнить сборку, а затем запустите программу.
Нажмите кнопку Button1 в форме, чтобы создать и отобразить презентацию PowerPoint.
Ссылки
Дополнительные сведения см. на следующем веб-сайте Microsoft Developer Network (MSDN): Инструменты Visual Studio для обучения Microsoft Office System 2003