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

Překlady článku Překlady článku
ID článku: 308330 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Microsoft Visual C# .NET verzi tohoto článku naleznete 308825.
Microsoft Visual C++ .NET verzi tohoto článku naleznete 309309.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Tento článek popisuje způsob zpracování události Microsoft PowerPoint 2002 pomocí Microsoft Visual Basic .NET 2002.

Další informace

S Microsoft Visual Studio .NET nemůžete použít delegáty jímku událostí s aplikací PowerPoint. PowerPoint používá rozhraní IDispatch na aktivaci události. Aplikace Visual Basic .NET k správně jímku událostí musí používat rozhraní IConnectionPointContainer a IConnectionPoint. Přijímající aplikace musí také vědět DISPIDs události k jímku. Tyto DISPIDs nejsou uvedeny v knihovně typů PowerPoint, ale jsou uvedeny v ukázkovém kódu pod odkaz.

Vytvořit klienta Automation Sample jazyka .NET

  1. Spusťte aplikaci Visual Studio .NET. V nabídce soubor klepněte na příkaz Nový a klepněte na příkaz projekt. Ve skupinovém rámečku Project typyProjekty jazyka klepněte na příkaz Aplikace Windows v části šablony. Jako výchozí je vytvořen formulář Form1.
  2. Přidat odkaz Objektové knihovny Microsoft PowerPoint. Postupujte takto:
    1. V nabídce projekt klepněte na tlačítko Přidat odkaz.
    2. Na kartě COM vyhledejte 10.0 objektové knihovny Microsoft PowerPoint a potom klepněte na tlačítko Vybrat. Poznámka: Pokud jste tak již neučinili, je vhodné stáhnout a nainstalovat Microsoft Office XP Primary Interop sestavení (PIA). Další informace o sestaveních PIA sady Office XP získáte v článku číslo článku databáze Microsoft Knowledge Base:
      328912INFORMACE: Microsoft Office XP PIA jsou k dispozici pro stažení
    3. Klepnutím na tlačítko OK v dialogovém okně Přidat odkazy potvrďte výběr. Pokud se zobrazí výzva ke generování obálky pro vybrané knihovny klepněte na tlačítko Ano.
  3. V nabídce Zobrazit klepněte na tlačítko panel zobrazení panelu a přidat dvě tlačítka a pole se seznamem Form1.
  4. V posloupnosti poklepejte na Button1Button2 a Form1.
  5. V okně kódu nahraďte následující kód
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
                                                                    Handles Button1.Click
    
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
                                                                    Handles Button2.Click
    
    End Sub
    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
                                                                   Handles MyBase.Load
    
    End Sub
    					
    s:
        Private m_oConnectionPoint As UCOMIConnectionPoint
        Private m_Cookie As Integer
        Private oPPT As PowerPoint.Application
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
                                                                       Handles MyBase.Load
            ' Create a new instance of PowerPoint.
            oPPT = New PowerPoint.Application()
    
            ' Show PowerPoint to the user.
            oPPT.Visible = Microsoft.Office.Core.MsoTriState.msoTrue
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
                                                                        Handles Button2.Click
            ' Call Unadvise to remove the sink to the connection.
            m_oConnectionPoint.Unadvise(m_Cookie)
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oPPT)
            GC.Collect()
        End Sub
    
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
                                                                        Handles Button1.Click
            Dim oConnPointContainer As UCOMIConnectionPointContainer
            ' QI for IConnectionPointContainer.
            oConnPointContainer = CType(oPPT, UCOMIConnectionPointContainer)
            ' Create a new variable that contains the GUID of the 
            ' PowerPoint.EApplication interface.
            Dim guid As New Guid("914934C2-5A91-11CF-8700-00AA0060263B")
            ' Find the connection point.
            oConnPointContainer.FindConnectionPoint(guid, m_oConnectionPoint)
            ' Call Advise to sink up the connection.
            m_oConnectionPoint.Advise(Me, m_Cookie)
        End Sub
    
        <DispId(2001)> Public Sub WindowSelectionChange(ByVal Sel As PowerPoint.Selection)
            Me.ListBox1.Items.Add("WindowSelectionChange")
        End Sub
    
        <DispId(2002)> Public Sub WindowBeforeRightClick(ByVal Sel As PowerPoint.Selection,
                                                                   ByVal Cancel As Boolean)
            Me.ListBox1.Items.Add("WindowBeforeRightClick")
        End Sub
    
        <DispId(2003)> Public Sub WindowBeforeDoubleClick(ByVal Sel As PowerPoint.Selection,
                                                                    ByVal Cancel As Boolean)
            Me.ListBox1.Items.Add("WindowBeforeDoubleClick")
        End Sub
    
        <DispId(2004)> Public Sub PresentationClose(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("PresentationClose")
        End Sub
    
        <DispId(2005)> Public Sub PresentationSave(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("PresentationSave")
        End Sub
    
        <DispId(2006)> Public Sub PresentationOpen(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("PresentationOpen")
        End Sub
    
        <DispId(2007)> Public Sub NewPresentation(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("NewPresentation")
        End Sub
    
        <DispId(2008)> Public Sub PresentationNewSlide(ByVal Sld As PowerPoint.Slide)
            Me.ListBox1.Items.Add("PresentationNewSlide")
        End Sub
    
        <DispId(2009)> Public Sub WindowActivate(ByVal Pres As PowerPoint.Presentation,
                                                 ByVal Wn As PowerPoint.DocumentWindow)
            Me.ListBox1.Items.Add("WindowActivate")
        End Sub
    
        <DispId(2010)> Public Sub WindowDeactivate(ByVal Pres As PowerPoint.Presentation,
                                                   ByVal Wn As PowerPoint.DocumentWindow)
            Me.ListBox1.Items.Add("WindowDeactivate")
        End Sub
    
        <DispId(2011)> Public Sub SlideShowBegin(ByVal Wn As PowerPoint.SlideShowWindow)
            Me.ListBox1.Items.Add("SlideShowBegin")
        End Sub
    
        <DispId(2012)> Public Sub SlideShowNextBuild(ByVal Wn As PowerPoint.SlideShowWindow)
            Me.ListBox1.Items.Add("SlideShowNextBuild")
        End Sub
    
        <DispId(2013)> Public Sub SlideShowNextSlide(ByVal Wn As PowerPoint.SlideShowWindow)
            Me.ListBox1.Items.Add("SlideShowNextSlide")
        End Sub
    
        <DispId(2014)> Public Sub SlideShowEnd(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("SlideShowEnd")
        End Sub
    
        <DispId(2015)> Public Sub PresentationPrint(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("PresentationPrint")
        End Sub
    
    
        <DispId(2016)> Public Sub SlideSelectionChanged(ByVal SldRange As PowerPoint.SlideRange)
            Me.ListBox1.Items.Add("SlideSelectionChanged")
        End Sub
    
        <DispId(2017)> Public Sub ColorSchemeChanged(ByVal SldRange As PowerPoint.SlideRange)
            Me.ListBox1.Items.Add("ColorSchemeChanged")
        End Sub
    
        <DispId(2018)> Public Sub PresentationBeforeSave(ByVal Pres As PowerPoint.Presentation,
                                                                       ByVal Cancel As Boolean)
            Me.ListBox1.Items.Add("PresentationBeforeSave")
        End Sub
    
        <DispId(2019)> Public Sub SlideShowNextClick(ByVal Wn As PowerPoint.SlideShowWindow,
                                                         ByVal nEffect As PowerPoint.Effect)
            Me.ListBox1.Items.Add("SlideShowNextClick")
        End Sub
    					
  6. Přidejte následující oddíl importy v horní části okna kód:
    Imports System.Runtime.InteropServices 
    Imports Microsoft.Office.Interop
    					
  7. Otestujte program. Postupujte takto:
    1. Stisknutím klávesy F5 sestavit a spustit program. PowerPoint je spuštěna.
    2. Klepněte na tlačítko Button1 nastavit událost umyvadel.
    3. Vytvoření nové prezentace v aplikaci PowerPoint.

      Požární WindowActivate, NewPresentationPresentationNewSlide a události WindowSelectionChange.
    4. Prezentaci uložit.

      Je aktivována událost PresentationSave.
    5. Zavřete prezentaci.

      Je aktivována událost PresentationClose.
    6. V programu aktivovat Form1. Události, které byly zpracovávány program a spustil PowerPoint se zobrazí v seznamu.
    7. Klepněte na tlačítko Button2 odpojit umyvadel událostí.
    8. Zavřete Form1.

Odkazy

Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
254009INFORMACE: PowerPoint 2000 událostí ukázka k dispozici pro stažení
Další informace o automatizaci Office naleznete následující podporu serveru Microsoft Office Development:
Časté otázky a otázkami Office Development
http://support.microsoft.com/ofd

Vlastnosti

ID článku: 308330 - Poslední aktualizace: 6. února 2014 - Revize: 4.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Klíčová slova: 
kbnosurvey kbarchive kbmt kbautomation kbhowto KB308330 KbMtcs
Strojově přeložený článek
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:308330

Dejte nám zpětnou vazbu

 

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