Wachtwoord vergeten?

Wachtwoord vergeten
Vul hier uw email adres in. U ontvangt dan een nieuw wachtwoord.

Office PowerPoint 2003-gebeurtenissen afhandelen met Visual Basic .NET 2003

Gepost op 13-02-2006 - Microsoft Office - 0 reacties


De informatie in dit artikel is van toepassing op:

  • Microsoft Office PowerPoint 2003
  • Microsoft Visual Basic .NET 2003 Standard Edition

Inleiding

In dit artikel wordt beschreven hoe u Microsoft Office PowerPoint 2003-gebeurtenissen kunt verwerken vanaf een automatiseringsclient die is ontwikkeld met behulp van Microsoft Visual
Basic .NET 2003.

Terug naar begin

Een gebeurtenis-handler samenstellen

U kunt een van de volgende methoden gebruiken om een gebeurtenis-handler samen te stellen met behulp van Visual Basic .NET. Welke methode u kiest, is afhankelijk van de wijze waarop u de gebeurtenis-handler aan
een gebeurtenis wilt koppelen.
  • Methode 1

    Doorgaans maakt u een gebeurtenis-handler door het trefwoord Handles in combinatie met het trefwoord WithEvents te gebruiken. Wanneer u een objectverwijzingsvariable declareert
    met behulp van het trefwoord WithEvents, maakt Visual Basic .NET tijdens runtime automatisch verbinding met de gebeurtenissen van het object. Als u een specifieke gebeurtenis voor
    een object wilt verwerken, voegt u de relevante handler via de lijst Class en de lijst Method van de Visual Studio .NET-omgeving toe vanuit het venster
    Code.
  • Methode 2

    Visual Basic .NET biedt een andere manier voor het verwerken van gebeurtenissen. U kunt de AddHandler- en RemoveHandler-instructie gebruiken zodat u de gebeurtenisverwerking voor een bepaalde gebeurtenis dynamisch kunt starten en stoppen.

    Opmerking Als u het trefwoord WithEvents gebruikt voor het samenstellen van gebeurtenis-handlers, kan de uitzondering System.Reflection.TargetInvocationException worden gegenereerd. Gebruik daarom de gebeurtenis AddHandler om gebeurtenis-handlers samen te stellen.
Terug naar begin

De Visual Basic .NET-automatiseringsclient maken die PowerPoint-gebeurtenissen verwerkt

In de volgende stappen wordt weergegeven hoe u de AddHandler-instructie kunt gebruiken om de PowerPoint-toepassingsgebeurtenissen te verwerken vanaf een automatiseringsclient die is ontwikkeld met behulp van
Visual Basic .NET.

Ga als volgt te wek om een Visual Basic .NET-project te maken:
  1. Start Microsoft Visual Studio .NET 2003.
  2. Klik in het menu File op New en klik op Project.
  3. Klik op Visual Basic Projects in de lijst Project Types. Klik op Windows Application in de lijst Templates.
  4. Geef het project de naam PowerPointEvents en klik op OK.

    Standaard wordt nu Form1 gemaakt.
Ga als volgt te werk om verwijzingen naar de Microsoft PowerPoint-objectbibliotheek en de Microsoft Graph-objectbibliotheek toe te voegen:
  1. Klik op Add Reference in het menu Project.
  2. Open het tabblad COM, klik op Microsoft PowerPoint 11.0 Object Library en klik op Select.
  3. Open het tabblad COM, klik op Microsoft Graph 11.0 Object Library en klik op Select.
  4. Klik op OK in het dialoogvenster Add References om de selectie te accepteren.
  5. Dubbelklik op het formulier.

    Het venster Code wordt geopend.
  6. Voeg de volgende code boven aan het bestand Form1.vb toe:
    Imports PowerPoint = Microsoft.Office.Interop.PowerPoint Imports Office = Microsoft.Office.Core Imports Graph = Microsoft.Office.Interop.Graph
  7. Open het menu View en klik op Designer.
  8. Klik in het menu View op Toolbox en voeg een knop toe aan Form1.
  9. Dubbelklik op Button1.

    Het venster Code wordt geopend en de gebeurtenis Button1_Click wordt weergegeven.
  10. Plaats in het venster Code de volgende code voor de gebeurtenis Button1_Click:
    Dim oApp As PowerPoint.Application Dim oPres As PowerPoint.Presentation
  11. Voeg de volgende code toe aan de gebeurtenis Button1_Click:
    Const sTemplate = "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Orbit.pot" 'Als de vorige sjabloon niet beschikbaar is, wijzigt u de sjabloonnaam in de naam van een sjabloon die op uw systeem aanwezig is. Const sVideo = "C:\WINDOWS\system32\oobe\images\intro.wmv"
    Dim oPresentations As PowerPoint.Presentations Dim oSlides As PowerPoint.Slides Dim oSlide As PowerPoint.Slide Dim oShapes As PowerPoint.Shapes Dim oShape As PowerPoint.Shape Dim oMovie As PowerPoint.Shape Dim oAnimationSettings As PowerPoint.AnimationSettings Dim oPlaySettings As PowerPoint.PlaySettings Dim oTextFrame As PowerPoint.TextFrame Dim oTextRange As PowerPoint.TextRange Dim oFont As PowerPoint.Font Dim oOLEFormat As PowerPoint.OLEFormat Dim oShadow As PowerPoint.ShadowFormat Dim oForeColor As PowerPoint.ColorFormat Dim oRange As PowerPoint.SlideRange Dim oSlideShowTransition As PowerPoint.SlideShowTransition
    'Start PowerPoint en geef het PowerPoint-venster geminimaliseerd weer. oApp = New PowerPoint.Application
    'Voeg gebeurtenis-handlers toe. AddHandler oApp.SlideShowBegin, AddressOf oApp_SlideShowBegin AddHandler oApp.SlideShowNextSlide, AddressOf oApp_SlideShowNextSlide AddHandler oApp.PresentationClose, AddressOf oApp_PresentationClose
    oApp.Visible = True oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized
    'Maak een nieuwe presentatie die is gebaseerd op de opgegeven sjabloon. oPresentations = oApp.Presentations oPres = oPresentations.Open(sTemplate, , , True)
    'Maak dia 1. 'Voeg tekst toe aan de dia, wijzig het lettertype en plaats vervolgens 'een film op de eerste dia. oSlides = oPres.Slides oSlide = oSlides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly) oShapes = oSlide.Shapes oShape = oShapes.Item(1) oTextFrame = oShape.TextFrame oTextRange = oTextFrame.TextRange oTextRange.Text = "Mijn voorbeeldpresentatie" oFont = oTextRange.Font oFont.Name = "Comic Sans MS" oFont.Size = 48
    oMovie = oShapes.AddMediaObject(sVideo, 150, 150, 500, 350) oAnimationSettings = oMovie.AnimationSettings oPlaySettings = oAnimationSettings.PlaySettings oPlaySettings.PlayOnEntry = True oPlaySettings.HideWhileNotPlaying = True
    'NAR om verwijzingen vrij te geven. NAR(oPlaySettings) NAR(oAnimationSettings) NAR(oMovie) NAR(oFont) NAR(oTextRange) NAR(oTextFrame) NAR(oShape) NAR(oShapes) NAR(oSlide) NAR(oSlides)
    'Maak dia 2. 'Voeg tekst toe aan de diatitel en maak de tekst op. Voeg een grafiek toe aan de 'dia en wijzig het grafiektype in een Gegroepeerde 3D-kolom. oSlides = oPres.Slides oSlide = oSlides.Add(2, PowerPoint.PpSlideLayout.ppLayoutTitleOnly) oShapes = oSlide.Shapes oShape = oShapes.Item(1) oTextFrame = oShape.TextFrame oTextRange = oTextFrame.TextRange oTextRange.Text = "Mijn grafiek" oFont = oTextRange.Font oFont.Name = "Comic Sans MS" oFont.Size = 48
    Dim oChart As Graph.Chart oShape = oShapes.AddOLEObject(150, 150, 480, 320, "MSGraph.Chart.8") oOLEFormat = oShape.OLEFormat oChart = oOLEFormat.Object oChart.ChartType = Graph.XlChartType.xl3DColumnClustered
    'NAR om verwijzingen vrij te geven. NAR(oChart) NAR(oOLEFormat) NAR(oFont) NAR(oTextRange) NAR(oTextFrame) NAR(oShape) NAR(oShapes) NAR(oSlide) NAR(oSlides)
    'Maak dia 3. 'Voeg een teksteffect aan de dia toe en pas schaduw op het teksteffect toe. oSlides = oPres.Slides oSlide = oSlides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank) oSlide.FollowMasterBackground = False oShapes = oSlide.Shapes oShape = oShapes.AddTextEffect(Office.MsoPresetTextEffect.msoTextEffect27, _ "The End", "Impact", 96, False, False, 230, 200)
    oShadow = oShape.Shadow oForeColor = oShadow.ForeColor oForeColor.SchemeColor = PowerPoint.PpColorSchemeIndex.ppForeground oShadow.Visible = True oShadow.OffsetX = 3 oShadow.OffsetY = 3
    'NAR om verwijzingen vrij te geven. NAR(oShadow) NAR(oForeColor) NAR(oShape) NAR(oShapes) NAR(oSlide) NAR(oSlides)
    'Wijzig de instellingen voor diaovergang voor alle drie de dia's in 'de presentatie. Dim SlideIdx(3) As Integer SlideIdx(0) = 1 SlideIdx(1) = 2 SlideIdx(2) = 3
    oSlides = oPres.Slides oRange = oSlides.Range(SlideIdx) oSlideShowTransition = oRange.SlideShowTransition oSlideShowTransition.AdvanceOnTime = False oSlideShowTransition.EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut
    'Voer de diavoorstelling in een afzonderlijke methode uit. RunSlideShow()
    'NAR om verwijzingen vrij te geven. NAR(oSlideShowTransition) NAR(oRange) NAR(oSlides)
    'Sluit de presentatie zonder wijzigingen op te slaan en sluit PowerPoint. oPres.Saved = True oPres.Close()
    'NAR de presentatieobjecten. NAR(oPres) NAR(oPresentations)
    'Verwijder alle gebeurtenis-handlers. RemoveHandler oApp.SlideShowBegin, AddressOf oApp_SlideShowBegin RemoveHandler oApp.SlideShowNextSlide, AddressOf oApp_SlideShowNextSlide RemoveHandler oApp.PresentationClose, AddressOf oApp_PresentationClose
    'Sluit PowerPoint. oApp.Quit() NAR(oApp)
    GC.Collect()

  12. Plaats in het venster Code de volgende code onder de gebeurtenis Button1_Click:
    Private Sub RunSlideShow() Dim oSettings As PowerPoint.SlideShowSettings Dim oSlideShowWindows As PowerPoint.SlideShowWindows
    oSettings = oPres.SlideShowSettings oSettings.StartingSlide = 1 oSettings.EndingSlide = 3
    'Voer de diavoorstelling uit. Wacht totdat de diavoorstelling is beëindigd. oSettings.Run()
    oSlideShowWindows = oApp.SlideShowWindows
    On Error Resume Next Do While oSlideShowWindows.Count >= 1 System.Windows.Forms.Application.DoEvents() Loop
    NAR(oSlideShowWindows) NAR(oSettings) End Sub
    'NAR-functie om verwijzing te verwijderen. Private Sub NAR(ByVal o As Object) Try System.Runtime.InteropServices.Marshal.ReleaseComObject(o) Catch Finally o = Nothing End Try End Sub

  13. Voeg de volgende gebeurtenis-handlers toe onder de voorgaande code:
    'Gebeurtenis-handlers
    Private Sub oApp_SlideShowBegin(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow) 'Wijzig de positie en het formaat van het diavoorstellingsvenster. Dim oView As PowerPoint.SlideShowView
    With Wn .Height = 325 .Width = 400 .Left = 100 .Activate() End With
    'Start de film bij de eerste dia. oView = Wn.View oView.Next()
    NAR(oView) NAR(Wn) End Sub
    Private Sub oApp_SlideShowNextSlide(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow) 'Wijzig de kleur en het type van de aanwijzer, afhankelijk van de dia. Dim Showpos As Integer Dim oView As PowerPoint.SlideShowView Dim oColorFormat As PowerPoint.ColorFormat
    oView = Wn.View Showpos = oView.CurrentShowPosition + 1
    If Showpos = 3 Then oColorFormat = oView.PointerColor oColorFormat.RGB = RGB(255, 0, 0) oView.PointerType = PowerPoint.PpSlideShowPointerType.ppSlideShowPointerPen Else oColorFormat = oView.PointerColor oColorFormat.RGB = RGB(0, 0, 0) oView.PointerType = PowerPoint.PpSlideShowPointerType.ppSlideShowPointerArrow End If
    NAR(oColorFormat) NAR(oView) NAR(Wn) End Sub
    Private Sub oApp_PresentationClose(ByVal Pres As Microsoft.Office.Interop.PowerPoint.Presentation) 'Sla de presentatie op als HTML voordat u de presentatie sluit. Pres.SaveAs("C:\TestEvents.htm", PowerPoint.PpSaveAsFileType.ppSaveAsHTML) NAR(Pres) End Sub

Terug naar begin

Test

  1. Druk op F5 om de toepassing uit te voeren.
  2. Klik op Button1.

    PowerPoint start de diavoorstelling. U ziet het volgende:
    • De eerste dia start een film.
    • Het aanwijzertype verandert.
    • De kleur verandert in de tweede dia die een grafiek bevat.
  3. Sluit de presentatie.
Terug naar begin

Referenties


Voor meer informatie klikt u op de volgende artikelnummers in de Microsoft Knowledge Base:

308330PowerPoint-gebeurtenissen afhandelen met Visual Basic .NET

254009Demonstratie van PowerPoint 2000-gebeurtenissen beschikbaar om te downloaden

303717Automatisering gebruiken om een PowerPoint-presentatie te maken en weer te geven met Visual Basic .NET

823996PIA niet gevonden wanneer u in Visual Studio .NET naar een Office-typebibliotheek verwijst

Terug naar begin

PrintPrint RSS reactiesRSS reacties BookmarkBookmark

Gekoppelde tags

Download, .net, Office, PowerPoint, PowerPoint 2000, PowerPoint 2003, Project, Visual Basic, Visual Studio

Reacties
Nog geen reacties geplaatst.

Winkelmandje

Het winkelmandje is leeg

Inloggen
Als u hierboven op de knop 'bestellen' klikt krijgt u een overzicht van de door uw gewenste producten. Indien het overzicht compleet en correct is kunt via de wizard de verdere gegevens invullen en uw bestelling afronden. In het bestelproces kunt u altijd op 'vorige' drukken om terug te gaan in het proces. Bij Perrit staan vertrouwen, privacy en veiligheid op de eerste plaats, wij zullen uw gegevens dan ook met uiterste zorgvuldigheid behandelen en nooit doorgeven aan derden.

Perrit.nl Sherwood Rangers 29 Hengelo

Perrit.nl telefoon: +31 74 750 12 20

Kenniscentrum - Office PowerPoint 2003-gebeurtenissen afhandelen met Visual Basic .NET 2003
Perrit Kenniscentrum - Office PowerPoint 2003-gebeurtenissen afhandelen met Visual Basic .NET 2003