Teď jste offline a čekáte, až se znova připojí internet.

Způsob zpracování události PowerPoint pomocí Visual Basic .NET 2003

Podpora Office 2003 byla ukončena.

Společnost Microsoft ukončila dne 8. dubna 2014 podporu Office 2003. Tato změna ovlivnila aktualizace softwaru a možnosti zabezpečení. Další informace o tom, co to pro vás znamená a jak zajistit ochranu

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:824021
Úvod
Tento článek popisuje způsob zpracování události Microsoft Office PowerPoint z klienta automatizace, který vyvinuté pomocí Microsoft Visual Basic .NET 2003.

Sestavit obslužné rutiny události

Můžete použít některý z následujících metod sestavit obslužnou rutinu události pomocí jazyka .NET. Metoda zvolíte závisí na chcete přidružit obslužné rutiny události.
  • Metoda 1

    Obvykle pomocí popisovačů klíčové slovo s WithEvents klíčové slovo vytvořit obslužnou rutinu události. Při deklarování objektové proměnné odkaz pomocí klíčového slova WithEvents Visual Basic .NET automaticky připojí k události objektu v době spuštění. Zpracování určitých událostí objektu, přidat odpovídající popisovač pomocí třídy seznamu Metoda prostředí Visual Studio .NET, zatímco jsou v kód a zobrazení.
  • Metoda 2

    Visual Basic .NET poskytuje jiný způsob zpracování událostí. Můžete použít příkaz AddHandler a výkazu RemoveHandler tak, aby dynamicky spustit a zastavit zpracování událostí pro určitou událost dynamicky.

    Poznámka: Použít klíčové slovo WithEvents sestavit obslužné rutiny událostí obdržet System.Reflection.TargetInvocationException výjimku. Proto použít událost AddHandler sestavit obslužné rutiny událostí.

Vytvoření klienta automatizace jazyka .NET, která zpracovává události PowerPoint

Následující sady kroky ukazují způsob použití příkazu AddHandler ke zpracování událostí aplikace PowerPoint z klienta automatizace, který vyvinut pomocí programu Visual Basic .NET.

Vytvoření projektu Visual Basic .NET, postupujte takto:
  1. Zahájení Microsoft Visual Studio .NET 2003.
  2. V nabídce soubor klepněte na příkaz Nový a klepněte na příkaz projekt.
  3. V seznamu Typy projektu klepnutím na Projekty jazyka. V seznamu šablony klepněte na položku Windows aplikace.
  4. Název projektu PowerPointEvents a potom klepněte na tlačítko OK.

    Ve výchozím nastavení je vytvořen formulář s názvem Form1.
Přidat odkazy objektové knihovny Microsoft PowerPoint a objektové knihovny Microsoft Graph, postupujte takto:
  1. V nabídce projekt klepněte na tlačítko Přidat odkaz.
  2. Na kartě COM klepněte na jednu z následujících a poté klepněte na tlačítko Vybrat:
    • Microsoft Office PowerPoint 2007 klepněte 12.0 objektové knihovny Microsoft PowerPoint.
    • Microsoft Office PowerPoint 2003 klepněte v Microsoft PowerPoint 11.0 Object Library.
  3. Na kartě COM klepněte na jednu z následujících a poté klepněte na tlačítko Vybrat:
    • Microsoft Graph 12.0 klepněte 12.0 objektové knihovny Microsoft Graph.
    • Microsoft Graph 11.0 klepněte Microsoft Graph 11.0 Object Library.
  4. V dialogovém okně Přidat odkazy klepnutím na tlačítko OK potvrďte svůj výběr.
  5. Poklepejte na formulář.

    Otevře se okno kód.
  6. V horní části souboru Form1.vb přidejte následující kód:
    	Imports PowerPoint = Microsoft.Office.Interop.PowerPoint	Imports Office = Microsoft.Office.Core	Imports Graph = Microsoft.Office.Interop.Graph
  7. V nabídce Zobrazit klepněte na Návrhář.
  8. V nabídce Zobrazit klepněte na tlačítko panel a potom přidat tlačítko Form1.
  9. Poklepejte na Button1.

    Otevře okno kód v události Button1_Click.
  10. V okně kód umístit před události Button1_Click následující kód:
    	Dim oApp As PowerPoint.Application	Dim oPres As PowerPoint.Presentation
  11. Přidejte do události Button1_Click následující kód:
    	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. V okně kód umístit pod události Button1_Click následující kód:
    	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. Přidat následující obslužné rutiny událostí pod předchozí kód:
    	'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

Test

  1. Stisknutím klávesy F5 spuštění aplikace.
  2. Klepněte na tlačítko Button1.

    Spuštění prezentace aplikace PowerPoint. Všimněte si následujících:
    • První snímek spustí filmu.
    • Změny typu ukazatel.
    • Změny barev na druhý snímek obsahující graf.
  3. Zavřete prezentaci.
Odkazy
Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
308330Způsob zpracování události PowerPoint 2002 pomocí Visual Basic .NET 2002
254009PowerPoint 2000 demonstrační událostí, které jsou k dispozici ke stažení
303717Jak vytvořit a zobrazit prezentace aplikace PowerPoint 2002 nebo Office PowerPoint 2003 prezentace pomocí jazyka .NET 2002 nebo Visual Basic .NET 2003 pomocí automatizace
823996Primární sestavení InterOp (PIA) není nalezen při odkazu na knihovnu typů Office v aplikaci Visual Studio .NET
PowerPoint vb net událostí power point připojení PPT2007

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 824021 - Poslední kontrola: 05/24/2007 22:15:42 - Revize: 2.1

Microsoft Office PowerPoint 2007, Microsoft Office PowerPoint 2003, Microsoft Visual Basic .NET 2003 Standard Edition

  • kbmt kbexpertiseinter kbhowtomaster kbautomation KB824021 KbMtcs
Váš názor
/html>r varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("