Come usare l'automazione per creare e visualizzare una presentazione di PowerPoint usando Visual Basic .NET 2002 o Visual Basic .NET 2003
Riepilogo
Questo articolo descrive come usare l'automazione per creare e visualizzare una presentazione di Microsoft PowerPoint usando Microsoft Visual Basic .NET 2002 o Visual Basic .NET 2003.
Ulteriori informazioni
Creare un client di automazione per Microsoft PowerPoint
Avviare Microsoft Visual Studio .NET 2002 o Visual Studio .NET 2003. Scegliere Nuovo dal menu File e quindi fare clic su Progetto. Selezionare Applicazione Windows dai tipi di progetti di Visual Basic. Form1 viene creato per impostazione predefinita.
Aggiungere un riferimento alla libreria di oggetti di Microsoft PowerPoint e alla libreria di oggetti di Microsoft Graph. A tal fine, attenersi alla seguente procedura:
- Scegliere Aggiungi riferimento dal menu Progetto.
- Nella scheda COM individuare la raccolta oggetti di Microsoft PowerPoint e quindi fare clic su Seleziona. Individuare anche La libreria di oggetti di Microsoft Graph e quindi fare clic su Seleziona.
Nota Microsoft Office 2003 e versioni successive di Microsoft Office include assembly di interoperabilità primari (PIA). Microsoft Office XP non include le FUNZIONALITÀ personali, ma può essere scaricato.
Fare clic su OK nella finestra di dialogo Aggiungi riferimenti per accettare le selezioni.
Nel menu Visualizza selezionare Casella degli strumenti per visualizzare la casella degli strumenti e aggiungere un pulsante a Form1.
Fare doppio clic su Button1. Viene visualizzata la finestra del codice per il modulo.
Nella finestra del codice individuare il codice seguente
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click End Sub
Sostituire con il codice seguente:
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
Nota In questo codice le costanti sTemplate e sPic rappresentano rispettivamente il percorso completo e il nome file di un modello di PowerPoint e di un'immagine. Modificare questi percorsi in base alle esigenze per usare un modello o un'immagine installata nel sistema.
Aggiungere il codice seguente all'inizio di Form1.vb:
Imports Office = Microsoft.Office.Core Imports Graph = Microsoft.Office.Interop.Graph Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
Premere F5 per compilare ed eseguire il programma.
Fare clic su Button1 nel modulo per creare e quindi visualizzare una presentazione di PowerPoint.
Riferimenti
Per altre informazioni, vedere il seguente sito Web Microsoft Developer Network (MSDN): Strumenti di Visual Studio per il training di Microsoft Office System 2003