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.