0

After much hunting the last couple days, I've managed to get my powerpoint to update its excel link (which itself has data from an autoupdate query off our SQL db).
I open the excel file, then the powerpoint. I have Excel autosaving every minute (will be every 10 when go live). the powerpoint has this in module 1

Sub SlideShowNextSlide(ByVal Wn As SlideShowWindow)

    ActivePresentation.UpdateLinks

    With Application.ActivePresentation
        If Not .Saved And .Path <> "" Then .Save
    End With

End Sub

Sub OnSlideShowPageChange(ByVal objWindow As SlideShowWindow)

    ActivePresentation.UpdateLinks

    With Application.ActivePresentation
        If Not .Saved And .Path <> "" Then .Save
    End With

End Sub

I set the slideshow to loop until ESC. the VBA does (almost all the time) run.

But when it runs, it loads the slide with the refreshed data.. and then in the last instant before the slide changes to the next one, you see the old data flicker onto the screen.

That's why I put that save after the updatelinks, hoping it would make the update stick for the next cycle.. but no joy. Is there some sort of cache it uses while the slideshow is running? Can it be updated? Somehow have the running slideshow 'reload' from the now saved file.

If I have to I'll have the slideshow stop every hour and restart using some sort of Windows macro.. but that would be pretty ducktape-y.

braX
  • 11,506
  • 5
  • 20
  • 33
Hsmith
  • 155
  • 1
  • 1
  • 11
  • See if [this Q&A helps](https://stackoverflow.com/q/28511508/1188513) – Mathieu Guindon Jan 24 '18 at 15:37
  • Nice link. Created the class. Added `Dim myClass1 As Class1 Set myClass1 = New Class1 Class1.ScreenUpdating = False` before my update and save and then True after. Same behaviour. Tried reversing the true and false. Same. – Hsmith Jan 24 '18 at 16:27

0 Answers0