0

作業中のPowerPointプレゼンテーションに少しインタラクションを追加しようとしています。スクリプトの実行時に特定のグラフオブジェクトのサイズと位置を大きくする小さなVBを作成しました。スクリプトをデザインモードでテストしましたが、すべて正常に動作しているようです。ただし、コードをアクションボタンにリンクして、スライドショー内から実行しようとすると、コードが実行されません。私はほとんどのVBをExcelで実行しているので、これまでに遭遇したことはありません。誰かがこれの修正を提案できますか?私のコードは以下のとおりです。

 Sub MoveChart23()
    Dim s
    For Each s In ActiveWindow.Selection.SlideRange.Shapes
     If s.Name = "Chart 23" Then
      s.Top = 50
      s.Width = 620
      s.Left = 50
      s.Height = 400
     End If
    Next
End Sub

ご協力いただきありがとうございます。

4

1 に答える 1

1

とにかく、あなたの問題は次の行にあると思います:

For Each s In ActiveWindow.Selection.SlideRange.Shapes

プレゼンテーションモードで選択がない間。プレゼンテーション全体を実行および制御する方法に応じて、代わりに次のようなものを使用する必要があります。

For Each s In ActiveWindow.Slides(1).Shapes

ただし、現在表示されているスライドを参照する必要がある場合は、次のようにする必要があります。

For Each s In SlideShowWindows(1).View.Slide.Shapes
于 2013-03-25T15:12:02.523 に答える