2010-06-05 16 views

cevap

6

SlideShowNextSlide veya OnSlideShowPageChange

Bu örnek SlideShowNextSlide olayı aşağıdaki slayt için slayt konumunu belirler http://msdn.microsoft.com/en-us/library/aa211571%28office.11%29.aspx


den http://officeone.mvps.org/vba/events_version.html

Kod numunenin tam listesini bulabilirsiniz.Sonraki slayt üç slaytta ise, örnek, işaretçisini kalemle değiştirir ve kalem rengi kırmızıdır.

Private Sub App_SlideShowNextSlide(ByVal Wn As SlideShowWindow) 

Dim Showpos As Integer 

Showpos = Wn.View.CurrentShowPosition + 1 


If Showpos = 3 Then 
    With ActivePresentation.SlideShowSettings.Run.View 
     .PointerColor.RGB = RGB(255, 0, 0) 
     .PointerType = ppSlideShowPointerPen 
    End With 
    Else 
    With ActivePresentation.SlideShowSettings.Run.View 
     .PointerColor.RGB = RGB(0, 0, 0) 
     .PointerType = ppSlideShowPointerArrow 
    End With 
    End If 
End Sub 
+0

Sadece girmek için. "Çıkış" –

+0

üzerinde bir olay olup olmadığını bilmiyorum, bu http://stackoverflow.com/questions/2979950/how-to-automatically-trigger-the-app-object-initialization çalıştırarak tetiklemeye çalışıyorum - yürütme penceresinde -powerpoint ama işe yaramıyor. Bir şeyleri yanlış anladım mı? – user310291

+0

Diğer soruda cevaplandı –

-2

Bu olayın gerçekten PowerPoint'in sürümüne bağlı olarak kullanılmasını eklemek istiyorum. Benim için (PP 2007) sonraki olay oldukça istikrarlı çalışır:

Sub OnSlideShowPageChange(ByVal objWindow As SlideShowWindow) 
    Debug.Print objWindow.View.Slide.SlideIndex ' you can use this to check which slide invokes the event 
End Sub 

Bu kod ek sınıf yapıları (PPTEvent) gerek yoktur. Ancak diğer etkinlikleri kullanmayı planlıyorsanız, bu sınıfın başlatılmasını OnSlideShowPageChange'a eklemek iyi bir fikirdir.

Lütfen dikkat, bu kod verilen görevin ilk kısmı ile başa çıkmaktadır - slayda girme. "Ne hakkında ayrılıyor?" Diye sorabilirsiniz. Eh, bu bir görelilik meselesi. Tek bir slayt içingirme nedir aynı anda için başka bir bırakıyor. Geçerli slaydı izlemek için objWindow.View.Slide.SlideIndex'u kullanın, önceki slaydın diziniyle karşılaştırın ve gerekli olanı bırakıp bırakmadığınıza karar verin.

İlgili konular