2013-12-17 191 views
0

我正在VBA Excel中編寫一個宏,用於對Word文檔進行一些數據處理。在此期間,我已將整個文檔的字體名稱更改爲Times New Roman。但我不希望在文檔中的「公式編輯器」框中應用相同的更改,因爲它們的字體是「Cambria Math」。將字體更改爲Times New Roman會導致模糊數據。如何使用VBA在Word文檔中找到公式編輯器?

+0

哪個MS Office版本中的所有方程式的字體? –

+0

我正在使用office 2007 –

回答

0

等式對象在2007年後發生變化。2007年之前,您可以通過聲明Field對象來處理這些對象。例如

UNTESTED

Sub Sample() 
    Dim fldEqn As Field 

    For Each fldEqn In ActiveDocument.Fields 
     If fldEqn.Type = wdFieldEmbed Then 
      If InStr(1, fldEqn, "Equation.3") Then 
       With fldEqn.Result.Font 
        ' 
        '~~> Rest of the code 
        ' 
       End With 
      End If 
     End If 
    Next oField 
End Sub 

爲了與Equation Objects從2007年起,你必須使用OMaths收集工作。

你可以改變你使用使用此代碼

Sub Sample() 
    Dim eqns As OMath 

    For Each eqns In ActiveDocument.OMaths 
     With eqns.Range.Font 
      ' 
      '~~> Rest of the code 
      ' 
     End With 
    Next 
End Sub 
+0

非常感謝Siddharth ...我是否可以通過它查找程序框圖並更改它們的字體類型? –

+0

你如何插入程序框圖?插入|形狀? –

+0

我實際上將多個文檔合併爲一個,而bt合併時,字體,段落設置和行間距正在改變。我需要糾正這一點。 我想通過使用activedocument.shapes方法。有沒有更好的辦法? –