Word Formel automatisieren VSTO



  • Hi,
    ich wollte mir gerade eine kleine Hilfe in Word 2007 basteln, nachdem ich den Modus für die lineare Eingabe von Formeln entdeckt habe. Das ganze sollte in etwa so funktionieren. Ich schreibe den "Lineartext", markiere ihn, drücke in meinem Add-In einen Button und dann wird daraus eine Formel erstellt. Funktioniert aber mehr schlecht als recht (ich muss noch dazu sagen, dass ich sonst nur C++ programmiere). Hier mal meine Funktion:

    private void FormulaToWord()
    {
       Microsoft.Office.Interop.Word.Application app = Globals.ThisAddIn.Application;
       Document activeDoc = app.ActiveDocument;
       Range actRange = app.Selection.Range;
       actRange.OMaths.Linearize();
       actRange.OMaths.Add(actRange);
    }
    

    Die Formel wird zwar erstellt, aber der "Lineartext" nicht als solcher erkannt. Zum Testen, was VBA so macht, hab ich dann ein Makro mitlaufen lassen und siehe da, während der Makrorekorder läuft funktioniert es auch nicht, kann man das irgendwie beheben oder umgehen ?

    Gruß CatDog



  • Hallo,
    zumindest eine Formel kann ich mal darstellen mit folgender Funktion:

    private void Test()
    {
        Microsoft.Office.Interop.Word.Application app = Globals.ThisAddIn.Application;
        Document activeDoc = app.ActiveDocument;
        Range actRange = app.Selection.Range;
    
        actRange.Text = "cos(\\alpha )";
        actRange.OMaths.Add(actRange);
        actRange.WholeStory();
        actRange.OMaths.BuildUp();
    }
    

    cos (α) wird aber nur korrekt dargestellt, falls in der Zeile noch nichts steht. Steht da vorher irgendwas, erscheint nur der Lineartext ???? Hat irgendjemand eine Erklärung, einen Verdacht ???

    Grüsse


Anmelden zum Antworten