OfficeTips Home || VBA Section || General Section || Download Section || Privacy Policy |
Start a slide show and monitor it from an external application using events |
|
This example starts a PowerPoint show from a VB application and monitors the status of the show by trapping the events fired by the PowerPoint application. To set the VB application, open Visual Basic, Select a Standard exe. Place a list box and a command box on the form. Set a reference to the PowerPoint object library. Copy/paste the code given below into the code module of the form. Download VB Project (requires Visual Basic): ' -------------------------------------------------------------------------------- Option Explicit Option Explicit Dim WithEvents oPPTAppEvents As PowerPoint.Application Dim oPPTApp As PowerPoint.Application Dim oPPTPres As PowerPoint.Presentation Dim PresPath As String Private Sub Command1_Click() Call AutomatePowerPoint End Sub Sub AutomatePowerPoint() On Error Resume Next PresPath = "F:\Test\Test.ppt" Set oPPTApp = CreateObject("PowerPoint.Application") If Not oPPTApp Is Nothing Then Set oPPTAppEvents = New PowerPoint.Application List1.AddItem "All slide show events are being monitored..." With oPPTApp Set oPPTPres = .Presentations.Open(PresPath, , , False) If Not oPPTPres Is Nothing Then oPPTPres.SlideShowSettings.Run Else MsgBox "The code could not open the specified file." & _ "Check if the file is present at the location.", _ vbCritical + vbOKOnly, "PowerPoint Automation Example" End If End With Else MsgBox "The code failed to instantiate PowerPoint session.", _ vbCritical + vbOKOnly, "PowerPoint Automation Example" End If End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) On Error Resume Next Set oPPTPres = Nothing oPPTApp.Quit Set oPPTApp = Nothing End Sub Private Sub oPPTAppEvents_SlideShowBegin( _ ByVal Wn As PowerPoint.SlideShowWindow) List1.AddItem "Slide show has begun..." End Sub Private Sub oPPTAppEvents_SlideShowEnd( _ ByVal Pres As PowerPoint.Presentation) List1.AddItem "Slide show has terminated" End Sub Private Sub oPPTAppEvents_SlideShowNextBuild( _ ByVal Wn As PowerPoint.SlideShowWindow) List1.AddItem vbTab & "Slide show next build..." End Sub Private Sub oPPTAppEvents_SlideShowNextSlide( _ ByVal Wn As PowerPoint.SlideShowWindow) List1.AddItem "Next slide event..." List1.AddItem vbTab & "Current slide: " & Wn.View.Slide.SlideIndex End Sub
|
|
Copyright 1999-2014 (c) Shyam Pillai. All rights reserved.