Microsoft Office Forums

Go Back   Microsoft Office Forums > Microsoft Office > PowerPoint

Reply
 
LinkBack Thread Tools Display Modes
  #1  
Old 04-30-2012, 03:57 PM
Cosmo Cosmo is offline Windows Vista Office 2007
Competent Performer
 
Join Date: Mar 2012
Posts: 214
Cosmo is on a distinguished road
Default Embedded SWF - 'Playing' is false after run

I have an embedded SWF file in a PPT 2007 presentation, added as a 'Shockwave Flash Object' to a slide. It has a 'Playing' property, which when set to 'True' allows it to play when the slide show is run.

But, once the slide show finishes, it automatically switches to 'False', and if the file is saved, it will not run unless set to 'True' again. I need to send this file to a client to run, but they may need to change some data on some of the slides, and I'm worried that if they have run the presentation before they change the data, and save it, it will no longer work for them. I can explain to them how to switch that property to true, but not sure if that is beyond their competence level, and I'd like to avoid that if possible.



Is there a way to set this property so that it does not reset itself once run? I'd prefer not to use a macro (but would like to know if it is the only option), as I do not know at this time what their security settings are.

Thanks for any input.
Reply With Quote
  #2  
Old 04-30-2012, 10:17 PM
JohnWilson JohnWilson is offline Windows 7 64bit Office 2010 32bit
Programmer
 
Join Date: Nov 2008
Location: UK
Posts: 1,676
JohnWilson will become famous soon enough
Default

Hi mark

This is a long standing bug. AFAIK a macro is the only fix. Shyam has a free ADDin. (FlashBack)
__________________
Microsoft PowerPoint MVP
Free Advanced PowerPoint Tips and Tutorials
Reply With Quote
  #3  
Old 05-01-2012, 05:11 AM
Cosmo Cosmo is offline Windows Vista Office 2007
Competent Performer
 
Join Date: Mar 2012
Posts: 214
Cosmo is on a distinguished road
Default

Quote:
Originally Posted by JohnWilson View Post
Hi mark

This is a long standing bug. AFAIK a macro is the only fix. Shyam has a free ADDin. (FlashBack)
Thanks, John. I don't think an add-in will help in my case, especially as the client is presenting this afternoon.

I did not create the flash file (I don't get the chance to work with flash here), but when I was experimenting with placing a different file that was on our server, it didn't seem to reset itself, so I was wondering if there is a setting when saving the flash file that might be responsible.

I was also having a problem identifying how to address the embedded flash control with a macro. The tech note I found mentioned:
Quote:
Sub PlayShock()
Slide#.ShockwaveFlash#.Play
End Sub

NOTE: Slide# is the slide where the Shockwave Flash control is located. ShockwaveFlash# is the name of the Shockwave Flash Control on the slide; replace this with the actual name of the control.
But any attempt I made didn't seem to work. I tried
Code:
Slide1.ShockwaveControlName.Play
 
ActivePresentation.Slides(1).ShockwaveControlName.Play
 
ActivePresentation.Slides(1).Shapes("ShockwaveControlName").Play
 
ShockwaveControlName.Play
But haven't had any success.
Reply With Quote
  #4  
Old 05-01-2012, 05:45 AM
JohnWilson JohnWilson is offline Windows 7 64bit Office 2010 32bit
Programmer
 
Join Date: Nov 2008
Location: UK
Posts: 1,676
JohnWilson will become famous soon enough
Default

You need to set the Playing Parameter

Slide1.SWObjectName.Playing = True
__________________
Microsoft PowerPoint MVP
Free Advanced PowerPoint Tips and Tutorials
Reply With Quote
  #5  
Old 05-01-2012, 06:06 AM
Cosmo Cosmo is offline Windows Vista Office 2007
Competent Performer
 
Join Date: Mar 2012
Posts: 214
Cosmo is on a distinguished road
Default

I had tried that too, but it's not working for me either, either alone, or in combination with .Play

I get 'Object required' error

Reply With Quote
  #6  
Old 05-01-2012, 06:31 AM
JohnWilson JohnWilson is offline Windows 7 64bit Office 2010 32bit
Programmer
 
Join Date: Nov 2008
Location: UK
Posts: 1,676
JohnWilson will become famous soon enough
Default

Sounds like it's not Slide1 or the name is wrong. The code is correct

Assuming it's in show view try (change name of course)
Code:
Sub FixFlash()
Dim osld As Slide
Set osld = SlideShowWindows(1).View.Slide
osld.Shapes("myFlash").OLEFormat.Object.Playing = True
End Sub
__________________
Microsoft PowerPoint MVP
Free Advanced PowerPoint Tips and Tutorials
Reply With Quote
  #7  
Old 05-01-2012, 07:28 AM
Cosmo Cosmo is offline Windows Vista Office 2007
Competent Performer
 
Join Date: Mar 2012
Posts: 214
Cosmo is on a distinguished road
Default

Thanks, that got it.
Reply With Quote
  #8  
Old 05-01-2012, 07:57 AM
JohnWilson JohnWilson is offline Windows 7 64bit Office 2010 32bit
Programmer
 
Join Date: Nov 2008
Location: UK
Posts: 1,676
JohnWilson will become famous soon enough
Default

Ideally you'd want that to run every time that slide started.
__________________
Microsoft PowerPoint MVP
Free Advanced PowerPoint Tips and Tutorials
Reply With Quote
  #9  
Old 11-02-2013, 09:51 AM
kisfe kisfe is offline Windows 7 32bit Office 2010 32bit
Novice
 
Join Date: Nov 2013
Posts: 5
kisfe is on a distinguished road
Default

Quote:
Originally Posted by JohnWilson View Post
Ideally you'd want that to run every time that slide started.
you are so clever john, i googled the page just now.
i have the same question.
but i am not good at VBA so i don't know how to modify that code and to my ppt.
my flash is in the 2nd slide, and it's name is "ShockwaveFlash1", i know how to operate the VBA editer because i usually wright some macro in excel.
but how to do in in PPT.
your kindly reply will be honestly appreciated.
Reply With Quote
  #10  
Old 11-02-2013, 10:19 AM
JohnWilson JohnWilson is offline Windows 7 64bit Office 2010 32bit
Programmer
 
Join Date: Nov 2008
Location: UK
Posts: 1,676
JohnWilson will become famous soon enough
Default

You could try this (Work on a copy!!)

Code:
Sub OnSlideShowPageChange(SW As SlideShowWindow)
Dim osld As Slide
If SW.View.CurrentShowPosition = 2 Then ' this is slide 2
Set osld = SW.View.Slide
osld.Shapes("ShockwaveFlash1").OLEFormat.Object.Playing = True
End If
End Sub
__________________
Microsoft PowerPoint MVP
Free Advanced PowerPoint Tips and Tutorials
Reply With Quote
  #11  
Old 11-02-2013, 11:07 AM
kisfe kisfe is offline Windows 7 32bit Office 2010 32bit
Novice
 
Join Date: Nov 2013
Posts: 5
kisfe is on a distinguished road
Default

very glad to see you at this time, but where can i copy this code to
Reply With Quote
  #12  
Old 11-02-2013, 11:13 AM
kisfe kisfe is offline Windows 7 32bit Office 2010 32bit
Novice
 
Join Date: Nov 2013
Posts: 5
kisfe is on a distinguished road
Default

Quote:
Originally Posted by JohnWilson View Post
You could try this (Work on a copy!!)

Code:
Sub OnSlideShowPageChange(SW As SlideShowWindow)
Dim osld As Slide
If SW.View.CurrentShowPosition = 2 Then ' this is slide 2
Set osld = SW.View.Slide
osld.Shapes("ShockwaveFlash1").OLEFormat.Object.Playing = True
End If
End Sub
Reply With Quote
  #13  
Old 11-02-2013, 11:14 AM
kisfe kisfe is offline Windows 7 32bit Office 2010 32bit
Novice
 
Join Date: Nov 2013
Posts: 5
kisfe is on a distinguished road
Default

i copy and past the codes as the pic above, but it seems not work.
Reply With Quote
  #14  
Old 11-02-2013, 11:25 AM
kisfe kisfe is offline Windows 7 32bit Office 2010 32bit
Novice
 
Join Date: Nov 2013
Posts: 5
kisfe is on a distinguished road
Default

i tried to insert a module, and paste the code in that module, and it works!
wonderful!
john, you are my idol!!!
thank you very much.

and i find something more to solve, but it's not very important now, the problem is:
if slide2 with flash is not played to it's end, and we click to slide3, then when we slide show again from slide1, the flash will be played from where it's stopped , not from the flash's first frame.
Reply With Quote
  #15  
Old 11-03-2013, 01:21 AM
JohnWilson JohnWilson is offline Windows 7 64bit Office 2010 32bit
Programmer
 
Join Date: Nov 2008
Location: UK
Posts: 1,676
JohnWilson will become famous soon enough
Default

I'm not able to test this right now but you should be able to do this.

Code:
Sub OnSlideShowPageChange(SW As SlideShowWindow) 
Dim osld As Slide
 If SW.View.CurrentShowPosition = 2 Then ' this is slide 2 
Set osld = SW.View.Slide
osld.Shapes("ShockwaveFlash1").OLEFormat.Object.Rewind
osld.Shapes("ShockwaveFlash1").OLEFormat.Object.Playing = True 
End If 
End Sub
__________________
Microsoft PowerPoint MVP
Free Advanced PowerPoint Tips and Tutorials
Reply With Quote
Reply

Thread Tools
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Mail Merge Function not Noticing 'True' vs. 'False' Statement danellekent Mail Merge 1 04-27-2012 02:19 AM
Audio not auto playing... TJSNO PowerPoint 5 12-10-2011 12:01 PM
Playing with rules Emerogork Outlook 0 11-03-2011 11:19 AM
Launching a form or comment box when a cell value turns to false cran29 Excel 0 10-25-2011 10:40 AM
MSWord false pattern or background????? controlengineer Word 3 04-02-2011 06:14 AM


All times are GMT -7. The time now is 06:24 AM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
MSOfficeForums.com is not affiliated with Microsoft