私はMS Word文書にXML & MathMLからコンバータを書いています。私はMFCとWordのオートメーションを使用していますので、このような書き込みテキストには問題はありません
:MS WordでMathMLをMathTypeに変換する
_Application app;
COleVariant vtOpt(DISP_E_PARAMNOTFOUND, VT_ERROR),
vtTrue((short)TRUE),
vtFalse((short)FALSE);
app.CreateDispatch("Word.Application",NULL);
Documents docs = app.GetDocuments();
_Document doc = docs.Add (vtOpt, vtOpt, vtOpt, vtOpt);
Range range = doc.Range (vtOpt, vtOpt);
range.InsertAfter (_T("Hello Word!"));
は、今の問題は、埋め込まれたMathTypeのオブジェクトにはMathML式を変換しています。私が見つけた可能な方法の1つは、TeXに方程式を書き、MathType OLEオブジェクトでTeXを置き換えるMTCommand_TeXToggle(WordのMathType 6.5ライブラリにあります)マクロをプログラムで呼び出すことです。しかし、それから、MathMLを何とかTeXに変換しなければなりません。そう簡単ではありません。
私はMathTypeのOLEオブジェクトは、生のMathMLのデータを受け入れる必要があることを、知っているが、私はプログラムでOLEオブジェクトを作成し、アクセスしようとしているとき:
InlineShapes shapes = doc.GetInlineShapes();
InlineShape control = shapes.AddOLEObject (COleVariant("Equation.DSMT4"), vtOpt, vtFalse, vtFalse, vtOpt, vtOpt, vtOpt, vtOpt);
OLEFormat fm = control.GetOLEFormat();
COleDispatchDriver drv = fm.GetObject();
私はそれを養うために合理的なインターフェースで終わりますMathMLデータ。 質問: 1)OLEオブジェクトを制御してMathMLデータを送信する方法はありますか? または 2)MathMLからMathType OLEオブジェクトへの選択を変換するMS Word VBマクロを取得する方法はありますか?事前に
おかげで、 ニック止血
'vba'マクロを投稿してください。私はVBAで新しく、 'MathML2MathType' OLE形式を変換したいと思います。 – Balaji