2013-09-02 2 views
0

새 PowerPoint 플러그인을 만들려고합니다. 슬라이드 1의 주어진 모양에 대해 동일한 모양이 다음 슬라이드에도 있는지 여부를 확인하려는 경우 문제가 발생했습니다.PowerPoint 2010의 다른 슬라이드에서 프로그래밍 방식으로 동일한 모양 확인

다른 슬라이드의 셰이프를 비교하여 셰이프가 같은지 확인할 수있는 방법이 있습니까?

아마도 유형, 치수, 텍스트 및 기타 유사한 속성을 비교할 수 있지만이 문제를 해결하는 올바른 방법이 아닐 수 있습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

답변

0

"동일한"모양이란 무엇입니까? 모든 도형이 서로 다른 ID를 사용하여 비교할 수 없지만 크기, 위치 (Shape.Width, Shape.Height 등)와 내용 (차트, 테이블 또는 텍스트)을 비교할 수 있습니다. 충분한 속성이 동일한 경우 동등한 것으로 간주 될 수 있습니다.

+0

동일한 의미는 다른 슬라이드에 복제 된 동일한 모양을 의미합니다. 따라서 동일한 이미지에서 동일한 치수 및 텍스트가있는 텍스트 상자에 이르기까지 모든 것이 가능합니다. – user2739405

+0

내가 아는 한, 그런 종류의 비교를하는 것은 불가능합니다. 요소를 비교하는 유일한 방법은 해당 속성을 비교하는 것입니다. 그러나 매우 일반적인 경우에는 수행하기가 매우 어렵습니다. 가능한 경우 비교할 필요성을 줄이십시오. 어쨌든 왜해야합니까? –

0

귀하의 기준에 맞는 경우 다른 슬라이드에서 "동일한"모양을 반환합니다. 당신은 당신이 선호하는 대신하면 참/거짓 반환 할 수 :

Function SameShape(oThisShape As Shape, oOtherSlide As Slide) As Shape 

    Dim oSh As Shape 

    For Each oSh In oOtherSlide.Shapes 
     If oSh.Type = oThisShape.Type Then 
      If oSh.Height = oThisShape.Height Then 
       If oSh.Width = oThisShape.Width Then 
        ' other conditions here as required 
        Set SameShape = oSh 
        Exit Function 
       End If 
      End If 
     End If 
    Next 

End Function 

하나주의를 : 모양의 .Type = msoPlaceholder 경우, 당신은 또한 .PlaceholderFormat.ContainedType이 동일 여부를 확인하기 위해보고해야합니다.

관련 문제