2013-01-08 80 views
0

使用此代碼編程方式插入的公式編輯器3.0在Word 2010中

 var app = Globals.ThisAddIn.Application; 
     Range rng = app.ActiveDocument.Range(); 
     rng.Text = "BD/DC = AB/AC "; 

     rng = rng.OMaths.Add(rng); 
     OMath objEq = rng.OMaths[1] ; 
     objEq.BuildUp(); 

我可以輸入一個公式到Word 2010,但它出現在new equation editor

我想在舊的公式編輯器中插入一個公式(Equation Editor 3.0)。這在C#VSTO中可能嗎?

我可以通過insert object --> Equation Editor 3.0手動執行Word 2010,然後輸入公式,但我想通過c#來完成。

回答

1
var app = Globals.ThisAddIn.Application; 
Range rng = app.ActiveDocument.Range(); 
object oClassType = "Equation.3";    
rng.InlineShapes.AddOLEObject(ref oClassType); 

即插入一個,但我說實話不太清楚怎麼然後操縱它...

+0

哇!非常感謝!真的,這是一個好的開始。現在如何操縱它?...也許問問關於SO的另一個問題;) –

+0

我發現http://stackoverflow.com/questions/2729352/creating-an-equation-editor-3-0-equation-in-a- word-2003-document-using-a-marco這個頁面,它建議嘗試MathTypeSDK。我會試一試。 –

+0

嘗試過,但它要求系統上不存在的MT6.dll。有沒有辦法通過C#vsto向公式編輯器3.0添加方程式? –

1

如果通過AddOLEObject插入OLE對象,AddOLEObject的返回值是一個形狀,其OLEFormat屬性應該通過它自己的Object屬性爲你提供insect對象的自動化接口。

但是,沒有隨MSEE 3.0一起提供的類型庫,因此您不知道正確的dispids,屬性名稱和方法簽名。由於它基本上是由Design Science授權的MathType Express,您可能需要聯繫Design Science,並要求您可以爲您的客戶授權他們的現代產品。

相關問題