3Dチャートを回転させるマクロをExcelで作成しました。チャートをPowerPointにコピーし、スライドが表示されたらPowerPointで実行するようにコードを設定しました。コードは実行されますが、画面に表示されている内容を実際に変更することはできません。スライドが編集モードになると、グラフが回転します。任意のアイデアをどのように(私はデバッグ番号が表示されることがわかりますが表示されます)を実行するだけでなく、コードを取得するプレゼンテーションモードでは、画面を更新する?私のコードは:PowerPointプレゼンテーションの3Dチャートの回転
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Sub SpinTheChart()
RotateX = ActivePresentation.Slides(2).Shapes(2).Chart.ChartArea.Format _
.ThreeD.RotationX
Do While ActivePresentation.SlideShowWindow.View.CurrentShowPosition = 2
RotateX = RotateX + 7
If RotateX > 360 Then RotateX = RotateX - 360
ActivePresentation.Slides(2).Shapes(2).Chart.ChartArea.Format _
.ThreeD.RotationX = RotateX
DoEvents
Sleep 125
Debug.Print RotateX
Loop
End Sub
Sub OnSlideShowPageChange()
Dim i As Integer
i = ActivePresentation.SlideShowWindow.View.CurrentShowPosition
If i = 2 Then SpinTheChart
End Sub
更新日: 私はまだこれと戦っています。
SlideShowWindows(1).View.GotoSlide SlideSowWindows(1).View.CurrentShowPosition
が、これは動作しません:DoEvents関数の下に、いくつかのアーティスト同士のコラボレーションは、現在表示されているグラフを更新するために言って、あなたが使用する必要があるようです。実行中のコードはすべて終了します。したがって、最初の関数のDo/Loopは終了し、2番目の反復には進まない。
を使用すると、オブジェクトはExcelとPowerPointの間で同じインターフェイスを使用していることを確認するためにチェックしましたか? –
あなたのUPDATEはコードから正確にコピーされていますか?その場合、 'SlideShowWindows'のスペルが間違っている後半のスペルを確認してください。 –
4か月前にこの質問をしましたが、答えはありません:この問題を解決しましたか? –