2014-01-28 3 views
1

이미지를 가져 와서 클릭하면 사라지는 클릭이 사라집니다 (클릭시 트리거되는 애니메이션이 사라짐).VBA를 사용하여 z 순서를 변경하면 애니메이션 트리거 (파워 포인트)가 생깁니다.

하지만 하위를 실행하면 트리거가 작동을 멈 춥니 다. 많은 검색을 한 후에 Z 순서가 변경된 부분이 원인이라는 것을 알았습니다. 하위의이 부분을 제거하면 모든 것이 잘 작동하지만 불행히도 이미지를 표시하는 정사각형 앞에 이미지가 많이 사용되지는 않습니다.

나는 누군가에게 이것에 대한 어떤 생각을 밝힐 수 있다면 (또는 더 나은 해결책을 제시 할 수 있다면) 나는 매우 고맙게 여길 것이다.

감사

매트

Dim mySld As Slide 
Dim myShp As ShapeRange 
Dim i As Integer 

Set mySld = ActivePresentation.Slides.FindBySlideID(256) 

Set myShp = mySld.Shapes.Paste 

    With myShp 
     .Name = "Quiz_Image_" & i 
     .Left = 70 
     .Top = 75 
     .LockAspectRatio = msoTrue 
     .Width = 425 
     .ZOrder msoSendToBack 
    End With 

If myShp.Height > 275 Then 
    myShp.Height = 275 
End If 

답변

0

은 예,의 ZOrder 설정, 트리거를 재설정합니다. 생각할 수있는 유일한 옵션은 다른 사람이 더 나은 솔루션을 지적하지 않는 한 .AnimationSettings을 사용하여 코드 자체에서 애니메이션을 시작하는 것입니다. 예를

Option Explicit 

Sub Sample() 
    Dim mySld As Slide 
    Dim myShp As ShapeRange 
    Dim i As Integer 

    Set mySld = ActivePresentation.Slides(1) 

    Set myShp = mySld.Shapes.Paste 

    With myShp 
     .Name = "Quiz_Image_" & i 
     .Left = 70 
     .Top = 75 
     .LockAspectRatio = msoTrue 
     .Width = 425 
     .ZOrder msoSendToBack 
    End With 

    If myShp.Height > 275 Then 
     myShp.Height = 275 
    End If 

    mySld.Shapes("Shape Name").AnimationSettings.Animate 
End Sub 

EDIT를 들어

또한 정말 도움이 흥미로운 read

+0

를 참조하십시오. 이렇게 빠른 답변을 주셔서 감사 드리며 매력이 있습니다. 유일한 문제 (제발 당신이 대답해야한다고 생각하지 마세요 - 당신은 이미 매우 도움이되었습니다)는 실제로 움직일 수있는 20 개의 사각형이 있다는 것입니다. .Shapes ([방금 클릭 한 버전]) 버전을 수행 할 수있는 방법이 있습니까? AminationSettings.Animate? 분명히 나는 ​​각 하나를위한 별도의 하위를 작성할 수 있지만 오히려 우아하게 보인다! –

+0

'.Selection.ShapeRange (1)'을 사용하면 현재 모양을 얻을 수 있습니다. [이] (http://msdn.microsoft.com/en-us/library/office/ff745871.aspx)도 볼 수 있습니다. –

+0

모든 도움을 주셔서 대단히 감사합니다. 그걸 멀리하기까지 몇 시간이 걸렸으며 모든 것이 낭비되었을 수도 있다고 생각했습니다. –

관련 문제