Sposób obsługi zdarzeń programu PowerPoint przy użyciu języka Visual Basic.NET 2003

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 824021 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

WPROWADZENIE

W tym artykule opisano sposób obsługi zdarzeń programu Microsoft Office PowerPoint, od klienta automatyzacji, który opracowane za pomocą programu Microsoft Visual Basic.NET 2003.

Konstruowanie obsługi zdarzeń

Aby skonstruować moduł obsługi zdarzeń w języku Visual Basic można użyć jednej z następujących metod.NET. Wybór metody zależy od tego, jaki chcesz skojarzyć ze zdarzeniem obsługi zdarzeń.
  • Metoda 1

    Zazwyczaj obsługi zdarzeń jest tworzony przy użyciu Uchwyty słowo kluczowe z WithEvents słowo kluczowe. Kiedy deklarowanie zmiennej odniesienia obiektu przy użyciu WithEvents słowo kluczowe języka Visual Basic.NET automatycznie łączy zdarzeń obiektu w czasie wykonywania. Obsłużyć zdarzenia określonego obiektu, należy dodać za pomocą odpowiedniego programu obsługi Klasa listy i Metoda Lista programu Visual Studio.NET środowiska podczas pracy w kodzie widoku.
  • Metoda 2

    Języka Visual Basic.NET udostępnia inny sposób obsługi zdarzeń. Można użyć AddHandler Instrukcja i RemoveHandler Instrukcja dynamicznie uruchomić i zatrzymać dynamicznie obsługi zdarzenia dla określonego zdarzenia.

    Uwaga Jeśli używasz WithEvents słowo kluczowe do konstruowania obsługi zdarzeń może zostać wyświetlony System.Reflection.TargetInvocationException wyjątek. W związku z tym, należy użyć AddHandler zdarzenia do konstruowania obsługi zdarzeń.

Tworzenie języka Visual Basic.Klienta automatyzacji netto, który obsługuje zdarzenia programu PowerPoint

Następujące zestawy kroki pokazują sposoby korzystania AddHandler Instrukcja obsługi zdarzeń aplikacji PowerPoint z klienta automatyzacji, który opracowane przy użyciu języka Visual Basic.NET.

Aby utworzyć języka Visual Basic.NET projektu, wykonaj następujące kroki:
  1. Rozpoczęcie Programu Microsoft Visual Studio.NET 2003.
  2. Na Plik menu, kliknij przycisk Nowy, a następnie kliknij przycisk Projekt.
  3. W Typy projektów Kliknij pozycję Projekty języka Visual Basic. W Szablony Kliknij pozycję Aplikacja systemu Windows.
  4. Nazwa projektu PowerPointEvents, a następnie kliknij przycisk OK.

    Domyślnie jest tworzony formularz o nazwie Form1.
Aby dodać odwołanie do biblioteki obiektów Microsoft PowerPoint i do biblioteki obiektów Microsoft Graph, wykonaj następujące kroki:
  1. Na Projekt menu, kliknij przycisk Dodaj odwołanie.
  2. Na COM Karta, kliknij jedną z następujących czynności, a następnie kliknij przycisk Wybierz:
    • Program Microsoft Office PowerPoint 2007 kliknij przycisk Program Microsoft PowerPoint 12.0 Object Library..
    • Dla programu Microsoft Office PowerPoint 2003 kliknij przycisk Program Microsoft PowerPoint 11.0 Object Library..
  3. Na COM Karta, kliknij jedną z następujących czynności, a następnie kliknij przycisk Wybierz:
    • Aby program Microsoft Graph 12.0 kliknij Program Microsoft Graph 12.0 Object Library..
    • Aby program Microsoft Graph 11.0 kliknij Program Microsoft Graph 11.0 Object Library..
  4. W Dodaj odwołania okno dialogowe, kliknij przycisk OK Aby zaakceptować wybrane opcje.
  5. Kliknij dwukrotnie formularz.

    Zostanie otwarte okno kodu.
  6. U góry pliku Form1.vb Dodaj następujący kod:
    	Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    	Imports Office = Microsoft.Office.Core
    	Imports Graph = Microsoft.Office.Interop.Graph
    
  7. Na Widok menu, kliknij przycisk Projektant.
  8. Na Widok menu, kliknij przycisk Przybornik, a następnie dodać przycisk do formularza Form1.
  9. Kliknij dwukrotnie ikonę Button1.

    Zostanie otwarte okno kodu na Button1_Click zdarzenie.
  10. W oknie Kod należy umieścić następujący kod przed Button1_Click zdarzenie:
    	Dim oApp As PowerPoint.Application
    	Dim oPres As PowerPoint.Presentation
    
  11. Dodaj następujący kod do Button1_Click zdarzenie:
    	Const sTemplate = "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Orbit.pot"
            ' If the previous template is not available, change the template name to a template name that is on your system.
            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 and then make the PowerPoint window visible but minimized.
            oApp = New PowerPoint.Application
    
            'Add event handlers.
            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
    
            'Create a new presentation that is based on the specified template.
            oPresentations = oApp.Presentations
            oPres = oPresentations.Open(sTemplate, , , True)
    
            'Build slide 1.
            'Add text to the slide, change the font, and then insert or position a 
            'movie on the first slide.
            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 = "My sample presentation"
            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 to release references.
            NAR(oPlaySettings)
            NAR(oAnimationSettings)
            NAR(oMovie)
            NAR(oFont)
            NAR(oTextRange)
            NAR(oTextFrame)
            NAR(oShape)
            NAR(oShapes)
            NAR(oSlide)
            NAR(oSlides)
    
            'Build slide 2.
            'Add text to the slide title and then format the text. Also, add a chart to the
            'slide and then change the chart type to a 3D Column Clustered.
            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 = "My chart"
            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 to release references.
            NAR(oChart)
            NAR(oOLEFormat)
            NAR(oFont)
            NAR(oTextRange)
            NAR(oTextFrame)
            NAR(oShape)
            NAR(oShapes)
            NAR(oSlide)
            NAR(oSlides)
    
    
            'Build slide 3.
            'Add a text effect to the slide and then apply shadows to the text effect.
            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 to release references.
            NAR(oShadow)
            NAR(oForeColor)
            NAR(oShape)
            NAR(oShapes)
            NAR(oSlide)
            NAR(oSlides)
    
    
            'Modify the slide show transition settings for all three slides in
            'the presentation.
            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
    
    
            'Run the slide show in a separate method.
            RunSlideShow()
    
            'NAR to release references.
            NAR(oSlideShowTransition)
            NAR(oRange)
            NAR(oSlides)
    
            'Close the presentation without saving changes and then quit PowerPoint.
            oPres.Saved = True
            oPres.Close()
    
            'NAR the presentation objects.
            NAR(oPres)
            NAR(oPresentations)
    
            'Remove all event handlers.
            RemoveHandler oApp.SlideShowBegin, AddressOf oApp_SlideShowBegin
            RemoveHandler oApp.SlideShowNextSlide, AddressOf oApp_SlideShowNextSlide
            RemoveHandler oApp.PresentationClose, AddressOf oApp_PresentationClose
    
            'Quit PowerPoint.
            oApp.Quit()
            NAR(oApp)
    
            GC.Collect()
    
  12. W oknie Kod należy umieścić następujący kod poniżej Button1_Click zdarzenie:
    	Private Sub RunSlideShow()
                Dim oSettings As PowerPoint.SlideShowSettings
    	    Dim oSlideShowWindows As PowerPoint.SlideShowWindows
    
    	    oSettings = oPres.SlideShowSettings
    	    oSettings.StartingSlide = 1
           	    oSettings.EndingSlide = 3
    
                'Run the slide show. Wait for the slide show to finish.
                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 function to remove reference.
       	Private Sub NAR(ByVal o As Object)
                Try
    	        System.Runtime.InteropServices.Marshal.ReleaseComObject(o)
                Catch
                Finally
                    o = Nothing
                End Try
        	End Sub
    
  13. Dodaj następujące programy obsługi zdarzeń poniżej poprzedniego kodu:
    	'Event Handlers
    
        	Private Sub oApp_SlideShowBegin(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow)
                'Change the position and the size of the slide show window.
                Dim oView As PowerPoint.SlideShowView
    
                With Wn
                    .Height = 325
                    .Width = 400
                    .Left = 100
                    .Activate()
                End With
    
               'Start the movie at the first slide.
                oView = Wn.View
                oView.Next()
    
                NAR(oView)
                NAR(Wn)
        	End Sub
    
        	Private Sub oApp_SlideShowNextSlide(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow)
                'Change the color and the type of pointer depending on the slide.
                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)
                'Before you close the presentation, save the presentation as HTML.
                Pres.SaveAs("C:\TestEvents.htm", PowerPoint.PpSaveAsFileType.ppSaveAsHTML)
                NAR(Pres)
        	End Sub
    

Spróbuj

  1. Naciśnij klawisz F5, aby uruchomić aplikację.
  2. Kliknij przycisk Button1.

    Program PowerPoint jest uruchamiany pokaz slajdów. Następujące powiadomienie:
    • Pierwszy slajd uruchamia filmu.
    • Zmiana typu wskaźnika.
    • Zmiana koloru na drugi slajd zawierający wykres.
  3. Zamknij prezentację.

Materiały referencyjne

Aby uzyskać więcej informacji kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
308330Sposób obsługi zdarzeń w programie PowerPoint 2002 za pomocą programu Visual Basic.NET 2002
254009 Wykazanie zdarzeń programu PowerPoint 2000 dostępne do pobrania
303717 Jak utworzyć i pokazywanie prezentacji programu PowerPoint 2002 lub prezentacji programu Office PowerPoint 2003 przy użyciu języka Visual Basic za pomocą automatyzacji.NET 2002 lub Visual Basic.NET 2003
823996 PIA nie można odnaleźć biblioteki typów pakietu Office w programie Visual Studio w przypadku odwołania.NET

Właściwości

Numer ID artykułu: 824021 - Ostatnia weryfikacja: 6 października 2011 - Weryfikacja: 3.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft Visual Basic .NET 2003 Standard Edition
Słowa kluczowe: 
kbexpertiseinter kbhowtomaster kbautomation kbmt KB824021 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to:824021

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com