2009-10-13 3 views
3

누구든지 VBA를 사용하여 Powerpoint 2007 슬라이드 개체에서 테마 글꼴 사용을 감지하는 방법을 알고 있습니까? Shape.TextFrame.TextRange.Font.Name을 보면 글꼴 이름이 고정 된 이름이나 테마 이름 (문서 테마로 변경 될 수 있음)로 지정되었는지 여부와 상관없이 글꼴 이름이 단순한 이름 (예 : "Arial")으로 나타납니다. 개체 모델에서 테마에 연결된 것으로 플래그하는 다른 속성은 표시되지 않습니다 (예 : ObjectThemeColor 색).Powerpoint 2007 VBA에서 테마 글꼴을 검색하는 방법은 무엇입니까?

감사합니다.

답변

1

이 직접적인 방법은 (내가 아는) 그러나 당신이 만약/다음으로 확인할 수 없습니다 :

Sub checkthemeFont() 
    Dim s As Shape 
    Set s = ActivePresentation.Slides(1).Shapes(1) 
    Dim f As Font 
    Set f = s.TextFrame.TextRange.Font 

    Dim themeFonts As themeFonts 
    Dim majorFont As ThemeFont 

    Set themeFonts = ActivePresentation.SlideMaster.Theme.ThemeFontScheme.MajorFont 
    Set majorFont = themeFonts(msoThemeLatin) 

    If f.Name = majorFont Then 
     Debug.Print f.Name 
    End If 
End Sub 
+0

감사 오타쿠를 응답을하지만이 단지 폰트 이름이 일치하는지 여부를 알려줍니다 생각 주제 이름.이 도형의 글꼴이 테마 설정에 의해 제어되는지 여부가 아닙니다. 텍스트를 선택하고 "테마 글꼴"섹션 (테마 제목 및 본문 글꼴)에서 상위 2 개 글꼴 중 하나를 마우스 오른쪽 단추로 선택하여 GUI에서이를 볼 수 있습니다. 그런 다음 다른 모양을 추가하되 아래 목록에서 동일한 글꼴 이름을 선택하십시오 ("모든 글꼴"섹션). 글꼴 이름은 두 개체에서 동일하게 나타납니다. 테마를 변경하면 첫 번째 도형의 글꼴 변경이 표시되지만 두 번째 글꼴의 변경은 표시되지 않습니다. –

+0

Gotcha. 그래, 힘든 일이야. 내가 찾을 수 있었던 유일한 것은 당신이 필요로하는 것의 반대였다. 그것은 주제 글꼴 (http://pptfaq.com/FAQ00957.htm)을 설정하는 방법이다. 객체의 속성으로 객체에서 객체를 가져 오는 것은 어떤 문서도 가지고 있지 않습니다. –

+0

그래, 그걸 발견 했어. 스티브가이 기사에서 언급 한 바와 같이 "+ mj-It"과 같은 글꼴 이름을 잡을 수 없었어. 그냥 바닐라 글꼴 이름들 ... –

관련 문제