2016-10-06 50 views
0

パワーポイントプレゼンテーション(2007)でマクロを実行して、すべてのリンクされたExcelデータを更新しています。マクロを手動で実行すると完全に動作しますが、プレゼンテーションが最初のスライドに戻るたびに自動的に実行されるように設定しようとしています。プレゼンテーションが最初のスライドに当たるたびにマクロが実行される

私はここでいくつかの同様の質問を見てから、次のコードをまとめましたが、うまくいかないようです。スライド1を押すと何も起こりません。

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 

誰でもアイデアはありますか?

答えて

0

コードが正しいように見えますが、PowerPointがOnSlideShowPageChangeを正しく実装していないことがあります。

ActiveXコントロールをスライドに追加すると(オフスライドの場合もあります)、通常は問題が解決されます。

+0

ああ、それはうまくいきましたし、その過程で問題を見つけるのを助けました。私のスライドショーは明らかにスライド「1」を持たず、何らかの理由で5で始まった。私はActiveX要素を開いたときにそれを見つけました。私は今それを変更し、コードはActiveXの必要なく動作します。ありがとうございました:) –

+0

私はそれがなぜかもしれないのか不思議です。 CurrentShowPositionは、現在のショー(もちろん)内の位置、またはカスタムショー内の位置を返す必要がありますが、いずれかの方法でショーは通常1で始まります。もちろん、見ているならスライド5を開いてショーを開始すると、バックアップしない限り、1になることはありません。 –

関連する問題