2016-07-27 1 views
1

Microsoft Equation 3.0 방정식이 포함 된 MS-Word 2013 문서가 있습니다. 불행히도이 방정식은 실수로 또는 Word의 버그로 인해 때때로 크기가 변경됩니다.MS 공식 개체를 Word 문서의 다른 InlineShapes와 구별하는 방법

Sub FixEquationSize() 
    Dim shp As InlineShape 
    For Each shp In ActiveDocument.InlineShapes 
     shp.ScaleHeight = 100 'The value of ScaleHeight is a percentage 
     shp.ScaleWidth = 100 
     shp.LockAspectRatio = msoFalse 
     shp.Reset 
    Next 
End Sub 

이 ... 그러나이 높이와 너비를 해결 다음과 같이

는이 문제를 해결하기 위해, 나는 다시 원래 크기로 문서의 모든 방정식의 크기를 해결하기 위해 VBA 매크로를 썼다 모든 InlineShape 개체 중 방정식 인 개체가 아닙니다. ActiveDocument.OMaths을 반복함으로써 단어에

previous question and answer 발견 방정식하지만 용액 Insert|Symbols|Equation 의해 생성 된 방정식을 발견하지 Insert|Text|Object|Microsoft Equation 3.0 삽입 식 (그들이 다른 것은 흥미 롭다!).

InlineShapes을 반복해야한다면 InlineShape 수식 인 객체와 그렇지 않은 객체를 구별 할 수 있습니까?

답변

2

식 3.0 방정식이 다른 메커니즘. 이것은 당신이 뭔가에 형태를 변환하지 않았다고 가정

If shp.Type = wdInlineShapeEmbeddedOLEObject Then 
    If shp.OLEFormat.ClassType = "Equation.3" Then 
    ' it's an equation object 
    End If 
End If 

같은 뭔가를 사용하는 식의 새로운 유형과는 달리 (OLE 개체를 포함하는, 예를 들어 복사/어떤 종류의 그래픽으로 붙여 넣었습니다.

+0

우수합니다. 매우 훌륭하게 작동합니다. 감사합니다. – Simon

관련 문제