2016-10-06 2 views
0

Ich habe ein Makro in meiner PowerPoint-Präsentation (2007), um alle verknüpften Excel-Daten zu aktualisieren. Das Makro funktioniert perfekt, wenn ich es manuell ausführe, aber ich versuche es so einzustellen, dass es jedes Mal automatisch ausgeführt wird, wenn die Präsentation auf die erste Folie zurückkehrt.PowerPoint jedes Mal ausführen, wenn die Präsentation auf die erste Folie trifft

Ich habe den folgenden Code zusammengefügt, nachdem ich ein paar ähnliche Fragen durchgesehen habe, aber es scheint nicht zu funktionieren. Nichts passiert, wenn ich auf Folie 1 trete.

Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow) 
If SSW.View.CurrentShowPosition = 1 Then 

Dim osld As Slide 
Dim oshp As Shape 
On Error Resume Next 
For Each osld In ActivePresentation.Slides 
For Each oshp In osld.Shapes 
oshp.LinkFormat.update 
Next oshp 
Next osld 

End If 
End Sub 

Wer hat noch Ideen?

Antwort

0

Ihr Code scheint korrekt und sollte funktionieren, aber PowerPoint implementiert manchmal OnSlideShowPageChange nicht ordnungsgemäß.

Das Hinzufügen eines ActiveX-Steuerelements zu der Folie (auch von der Folie) löst normalerweise das Problem.

+0

Aha, das hat funktioniert, und dabei hat es mir geholfen, das Problem zu finden. Meine Slideshow hat anscheinend keine Folie "1" und begann um 5 aus irgendeinem Grund. Das habe ich erst beim Öffnen des ActiveX-Elements herausgefunden. Ich habe es jetzt geändert und der Code funktioniert ohne ActiveX. Danke :) –

+0

Ich bin neugierig, warum das sein könnte. CurrentShowPosition sollte die Position innerhalb der aktuellen Show (natürlich) oder die Position innerhalb einer Custom-Show zurückgeben, wenn Sie in einer dieser Shows sind, aber so oder so würde die Show normalerweise mit 1 beginnen. Natürlich, wenn Sie schauen Folie 5 und starten Sie die Show dort, Sie werden nie zu 1 gelangen, wenn Sie nicht sichern. –

Verwandte Themen