2014-04-04 8 views
0

항상 위에있는 vba를 사용하여 파워 포인트에서 모양을 만들 수 있습니까? 나는 shape (x) .zOrder 옵션을 보려고합니다. msoBringToFront를 선택하지만 다른 모양을 만들면 새로운 모양이 맨 위에 있습니다.vba는 항상 맨 위에있는 모양을 만듭니다.

파워 포인트가있는 이벤트를 확인하지만 모양이 만들어 질 때 이벤트가 발생하지 않습니다 ... 슬라이드가 만들어 질 때만입니다. 다른 방법이 있습니까?)

1 클래스를 만들고 다음 예제 코드

Private WithEvents mApplication As Application 
Private mMyShape As Shape 

Public Property Set Application(App As Application) 
    Set mApplication = App 
End Property 
'and Getter if necessary 

Public Property Set MyShape(shp As Shape) 
    Set mMyShape = shp 
End Property 
'and Getter if necessary 

Private Sub mApplication_WindowSelectionChange(ByVal Sel As Selection) 
    mMyShape.ZOrder msoBringToFront 
End Sub 

2

) 표준 모듈을 만들고을 추가하고 다음 예제 코드를 추가 : 내 댓글에 또한

+0

이벤트의 목록을 http://msdn.microsoft.com/en-us/library/office/jj227644%28v=office.15%29.aspx를 참조하십시오. AfterDragDropOnSlide가 적절해야합니다. 'WindowSelectionChange'는 분명히 대체 옵션입니다. Ppt 2007 해당 이벤트에 대해서는 http://msdn.microsoft.com/en-us/library/bb231084%28v=office.12%29.aspx를 참조하십시오. AfterDragDropOnSlide와 동일한 2007은 없습니다. –

+0

내 예를 아래에 게시하십시오. –

+0

제안 사항이 도움이 되었습니까? 그렇지 않다면 왜 안 되겠습니까? 이 문제를 해결할 수 있었습니까? –

답변

0

, 당신은 뭔가를 시도 할 수 있습니다 .

위의 사항은 Powerpoint 2007 이후 버전에서 작동합니다. AfterDragDropOnSlide 이벤트가 더 적절하지만 Powerpoint 2013에서만 추가되었습니다. 여기에서 사용 된 이벤트는 선택이 변경 될 때마다 발생하므로 거의 항상 모양이 항상 앞에 있도록해야합니다.

이벤트 참조 : WindowSelectionChange는 : http://msdn.microsoft.com/en-us/library/bb231084%28v=office.12%29.aspx

관련 문제