Доступ к редактору формул Excel 2010 через C#(VSTO)/VBA

Мне нужно получить доступ к редактору уравнений, встроенному в Excel 2010. В Word2010 это довольно просто, поскольку он предоставляет интерфейс OMath для доступа к нему через C# или VBA. В Excel такого нет, хотя можно вставлять уравнения таким образом. Кто-нибудь решил эту проблему? Мне нужно извлечь уравнение из объекта eqution в текстовом виде (не имеет значения, если это Latex, MATHML или любой другой язык. Это просто должна быть одна строка)

Конечно, я могу использовать MathType для этого (на самом деле я уже сделал это с MathType), но я не хочу заставлять пользователя покупать MathType, поскольку в Excel есть встроенная функция, которая поможет.


person user1658223    schedule 18.12.2012    source источник
comment
Я удалил свой ответ, так как вы, очевидно, знаете, как добавить редактор эквалайзера :) Я не знаю, как извлечь уравнение в виде обычного текста.   -  person Siddharth Rout    schedule 18.12.2012
comment
На самом деле я не совсем понимаю, что вы имеете в виду, говоря о добавлении редактора эквалайзера? Вы имеете в виду, как добавить уравнение (Word 2007/2010/Excel 2010) на рабочий лист Excel? Если да, то я был бы признателен, если бы вы могли показать мне это.   -  person user1658223    schedule 18.12.2012


Ответы (1)


Пробовали ли вы сначала добавить объект OLE, как указано в этой ссылке?

http://www.techyv.com/questions/it-possible-equation-editor-vba-excel-2010

У меня нет большого опыта работы с уравнениями Excel, но кажется, что Excel не использует объект OMath. Насколько я понимаю:

Вы можете добавить новое уравнение с помощью:

ActiveSheet.OLEObjects.Add(ClassType:="Equation.3", Link:=False, DisplayAsIcon:=False)

И впоследствии вы можете получить доступ к этим объектам, используя коллекцию OLEObjects:

ActiveSheet.OLEObjects.Item(1)
person Community    schedule 21.02.2013
comment
Да, но мне нужно получить уравнение из элемента управления в виде строки (нет счетчика в Latex, MathML или что-то в этом роде), а Equation.3 не позволяет мне это сделать. - person user1658223; 22.02.2013