मैं पहले से ही दो कथित सुधारों के बारे में जानता हूं, जिन्हें मैं नीचे सूचीबद्ध करूंगा, इसके साथ ही वे मेरे लिए काम नहीं करेंगे।
सबसे पहले SlideShowNextSlide
सबरूटीन का उपयोग करना है । इसके साथ समस्या यह है कि यह संक्रमण से पहले की घटना को आग लगाता है, इसलिए मुझे यह जानने का कोई तरीका नहीं है कि किस स्लाइड को संक्रमण किया जा रहा है। मैं चाहता हूं कि किसी प्रस्तुति के दौरान कुछ स्लाइड्स में प्रवेश करने पर घटना कुछ स्लाइड्स को छोड़कर न हो। मैं केवल एक को CurrentShowPosition
क्षेत्र में नहीं जोड़ सकता क्योंकि मैं अगली स्लाइड में जरूरी नहीं हूं; मैं हाइपरलिंक पर क्लिक कर सकता हूं। संक्षेप में, मैं केवल वर्तमान स्लाइड से कुछ बदलावों पर घटनाओं को आग देना चाहता हूं , लेकिन SlideShowNextSlide
मेरे पास यह जानने का कोई तरीका नहीं है कि क्या मैं घटना को आग लगाने के लिए सही स्लाइड पर जा रहा हूं।
दूसरा OnSlideShowPageChange
सबरूटीन का उपयोग करना है । इसके साथ समस्या यह है कि, जब से मैंने अपने PowerPoint स्लाइड शो को एक बार पहले से ही सहेजा, बंद और फिर से खोल दिया है, तब पावरपॉइंट बस सबरूटीन में कोड को अनदेखा करने का फैसला करता है।
क्या किसी के पास कोई सुझाव है कि मैं क्या कर सकता हूं? शायद उपरोक्त समस्याओं में से एक को ठीक करने का एक तरीका है? मैं विंडोज 8.1 पर PowerPoint 2013 का उपयोग कर रहा हूं।
यहां वह कोड है जिसका मैं उपयोग करना चाहता हूं:
Private Sub EventHandler_SlideShowNextSlide(ByVal SSW As SlideShowWindow)
' The purpose here is to stop music playing in the background, which happens on certain slides.
' For my purposes, it's not enough to simply state how many slides to play the music over,
' because some slides that need the music stopped can occur before slides that need it playing.
Dim Change As Boolean
If SSW.View.CurrentShowPosition < 66 And ((SSW.View.CurrentShowPosition < 42 And SSW.View.CurrentShowPosition > 25) Or SSW.View.CurrentShowPosition Mod 2 = 0) _
Then
ActivePresentation.Slides(1).Shapes("music file.mp3").Delete
Change = True
End If
If Change Then Application.CommandBars.ExecuteMso "Undo"
End Sub