-1

내가 선택한 모양의 단어 예술인지 알 필요가 있습니다.파워 포인트에서 단어 예술 모양 유형을 확인하십시오.

Shape의 속성은 "Type"입니다 (열거 형 MsoShapeType 반환). 단어 아트를 삽입하고이 속성을 확인하면 msoTextEffect 대신 msoAutoShape가 반환됩니다 (AutoShapeType == msoShapeRectangle 사용).

spae가 워드 아트 (텍스트 상자가있는 일반적인 사각형이 아닌)인지 어떻게 확인할 수 있습니까?

감사합니다.

+0

[이 질문과 답변] (http://stackoverflow.com/questions/16019942/find-the-type-of-a-shape). –

+0

[This (http://stackoverflow.com/questions/16019942/find-the-type-of-a- 형태) 답변이 올바르지 않습니다. Shape.Type 속성 값의 예상 결과는 "msoTextEffect"이며, 단어 모양의 실제 결과는 "msoAutoShape"입니다. 그것이 문제이다. 그래서 저는 어떤 모양이 단어 예술이라는 것을 어떻게 결정할 지 아이디어가 없습니다. – AntonKolesnikov

+0

Re "지금까지 해봤어요": 그 모양을 워드 아트로 결정했지만 성공하지 못했던 다른 속성을 사용하려고했습니다.이 모양은 직사각형 모양과 텍스트 상자와 동일하게 보입니다. 또한 나는 어떤 해결책이라도 google에 시도했다. 그리고 나는 msdn 사이트에서 bug (그 단어 art Shape.Type! = msoTextEffect)를 썼고 피드백을받지 못했습니다. – AntonKolesnikov

답변

0

전체 스마트 아트 모양을 선택하거나 스마트 아트 모양 내의 텍스트를 클릭하거나 스마트 아트 내의 모양 중 하나를 선택하면 ActiveWindow.Selection.ShapeRange (1)이 스마트 아트 모양을 반환합니다. 당신이 지적했듯이

그래서

If ActiveWindow.Selection.ShapeRange(1).HasSmartArt Then 
    Debug.Print "It's smart art" 
End if 

[편집] 는하지만,이하지 워드 아트,의 SmartArt입니다. 내 실수 야, 미안해. WordArt 셰이프와 같은 것은 없습니다. WordArt 서식을 셰이프 전체 또는 셰이프 내의 텍스트에 적용한 셰이프와 비슷합니다. 글로, 반사, 그림자 등과 같은 서식을 포함하거나 WordArt 사전 설정 중 하나 일 수 있습니다. 미리 선택된 이러한 다양한 효과의 조합입니다. 이러한 사전 설정이 적용된 도형 내의 모양이나 텍스트 범위를 식별하는 데 도움이되는 예제를 추가했습니다. 적용 할 수있는 다양한 속성 (빛, 반사 등) 각각에 대해 각 실행 및 각 텍스트 상자를 보는 것 이외에 사용자가 적용한 WordArt 형식을 확인하는 간단한 방법은 없습니다. 불행히도 WordArtFormat = None을 사용하면 무시할 수 있음을 알릴 수 없습니다. 프리셋 중 하나이거나 -2 일 수 있습니다. 이는 여러 가지 것을 의미 할 수 있습니다.

Sub WordArtist() 

    Dim oSh As Shape 
    Dim oRng As TextRange2 

    ' Has word art formatting been applied to 
    ' entire shape? 
    Set oSh = ActiveWindow.Selection.ShapeRange(1) 
    Debug.Print oSh.TextFrame2.WordArtFormat 

    ' Has it been applied to individual chunks of 
    ' text within the shape 
    For Each oRng In oSh.TextFrame2.TextRange.Runs 
     Debug.Print oRng.Font.WordArtFormat 
    Next 

    ' Note: 
    ' A result of -2 for the entire shape could mean 
    ' - No text in the shape; not really word art 
    ' - Mixed formatting 
    ' - Text/shape has had glow/shadow/reflection etc applied 
    '  rather than one of the preset WordArt selections 

End Sub 
+0

감사합니다. 그러나 현명한 예술은 단어 예술과 동일하지 않습니다. 그래서 단어 모양은 HasSmartArt – AntonKolesnikov

+0

Woo에서 false를 반환합니다. 내 실수. 죄송합니다. 편집 된 버전보기. –

+0

그레이트 !!! @ steve-rindsberg, 감사합니다 !!! Thas의 작품. – AntonKolesnikov