Herhangi bir slayt kaydı girdiğinde veya slayt bıraktığınızda makroyu çalıştırmayı sağlayan bir olay türü var mı?Powerpoint VBA'da "OnEnterSlide" veya "OnLeaveSlide" makrosu nasıl çalıştırılır?
cevap
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
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.
- 1. Web'de powerpoint nasıl görüntülenir?
- 2. Powerpoint, VBA'DA
- 3. NSString makrosu nasıl oluşturulur?
- 4. PowerPoint 2007'yi, Open Office SDK 2.0'ı kullanarak PowerPoint 2003 olarak PowerPoint 2003 olarak kaydetme
- 5. Başlangıç OpenXml ve PowerPoint
- 6. Powerpoint VBA App_SlideShowBegin
- 7. XCode Önişlemci Makrosu?
- 8. iOS oluşturma makrosu
- 9. PowerPoint Viewer'ı Windows
- 10. PowerPoint Notları C#
- 11. excel makrosu içinde "içerir" işlevi nasıl kullanılır?
- 12. Windows'ta uygulamaları nasıl çalıştırılır?
- 13. LARGEST_INTEGER makrosu veya benzeri bir şey var mı? (C)
- 14. İki veya daha fazla s ifadesi döndürmek üzere küme makrosu
- 15. Excel'de PowerPoint değerini nasıl gözden geçiririm?
- 16. Powerpoint Geçerli yakınlaştırmanın nasıl alınacağı kullanıcı%?
- 17. Powerpoint için ekran görüntülemeyi kapatma
- 18. C makrosu değerinden nasıl char dizesi yapılır?
- 19. Capistrano görevi çevre veya sunucu özelliklerine göre nasıl çalıştırılır?
- 20. Tomcat'in başlangıç veya uygulama dağıtımında belirli java kodu nasıl çalıştırılır?
- 21. PowerPoint dosyalarını değiştirmek için araçlar
- 22. heroku phantomjs nasıl çalıştırılır?
- 23. Qt uygulaması nasıl çalıştırılır?
- 24. Komisyondan görevler nasıl çalıştırılır?
- 25. schema.rb nasıl çalıştırılır?
- 26. Uygulama, savaştan nasıl çalıştırılır?
- 27. SBT nasıl çalıştırılır InputTask
- 28. AngularJS örneği nasıl çalıştırılır
- 29. CPU'da Tensorflow nasıl çalıştırılır
- 30. jgraph örneği nasıl çalıştırılır?
Sadece girmek için. "Çıkış" –
ü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
Diğer soruda cevaplandı –