Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2009, 19:10   #1
Тупой
Форумчанин
 
Аватар для Тупой
 
Регистрация: 26.12.2008
Сообщений: 146
По умолчанию Как программно работать с equation?

Мне очень часто бывает нужно набить несколько несложных формул в тексте.
В принципе, я хотел это дело автоматизировать, но... Как только я столкнулся с word2003 equation, мне стало казаться, что, наверное я чтото очень сильно не понимаю.
Можно ли както работать с equation из vba? (ну не только создавать объект, но и редактировать его, например).
Пока я решил эту задачу по тупому: через winapi функции я инициирую нажатие клавиш, и в формулу вбивается то, что мне нужно.
Если кто то знает, как работать с этим equation-ом, то скиньте плиз код, который бы создавал формулу типа (a/b)^0.5 - "корень из а делить на б".
"Hello, world!" - 17 errors 56 warnings
Тупой вне форума Ответить с цитированием
Старый 20.09.2009, 19:20   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Может, имеет смысл обойтись без использования equation?
(честно говоря, не знаю, как с ними работать )

Я для ввода формул в Word-e использую поля - в таком виде формулы выглядят красивее, особенно при использовании радикалов.
Пример использования полей Word для ввода формул можно посмотреть здесь:
http://www.programmersforum.ru/showp...49&postcount=2

Работать с полями через VBA тоже не пробовал, но, судя по тому, что это "родные" объекты для Word-а, ничего сложного быть не должно.
EducatedFool вне форума Ответить с цитированием
Старый 20.09.2009, 19:48   #3
Тупой
Форумчанин
 
Аватар для Тупой
 
Регистрация: 26.12.2008
Сообщений: 146
По умолчанию

а что за поля?
Они есть в 2003 ворде?
Ткните носом, где почитать?
"Hello, world!" - 17 errors 56 warnings
Тупой вне форума Ответить с цитированием
Старый 20.09.2009, 21:34   #4
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Начните с HELP по Word...
Затем можно посмотреть
http://gregmaxey.mvps.org/Banner_Text.htm
http://msdn.microsoft.com/en-us/libr...ice.10%29.aspx
http://www.addbalance.com/usersguide/fields.htm
http://www.bettersolutions.com/word/...E241812522.htm
и т.д.
Aent вне форума Ответить с цитированием
Старый 21.09.2009, 20:20   #5
Тупой
Форумчанин
 
Аватар для Тупой
 
Регистрация: 26.12.2008
Сообщений: 146
По умолчанию

Немного разобрался, спасибо.
Только вот не пойму единственного: а знак суммы как вбить?
Тут:
Цитата:
Сообщение от Aent Посмотреть сообщение
написано (вроде бы) что можно как
PHP код:
\SU() 
но приведенный в конце пример
PHP код:
EQ \\su(1,5,3) } 
выдает ошибку
"Hello, world!" - 17 errors 56 warnings
Тупой вне форума Ответить с цитированием
Старый 21.09.2009, 21:22   #6
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Бэкслеш забыл
{EQ \i \su(1;5;3)}
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 21.09.2009, 22:52   #7
Тупой
Форумчанин
 
Аватар для Тупой
 
Регистрация: 26.12.2008
Сообщений: 146
По умолчанию

Ха!
Я понял в чем фишка!
Косяк с бекслешами - это наверное из-за движка форума (я не спец в этом, но, мне кажется, что это какие - то меры антиспама). Я не заметил, что у меня копипастом не получилось скопировать пример в цитату. На самом деле, пример, указанный по вышеприведенной ссылке не работает не из-за бекслешей. Дело в том, что в скобках, в качестве разделителей стоят запятые, а не точки с запятой. Вот так вот.
viter.alex, огромное спасибо, Ваш пример заработал.
ПС: Всем ещё раз спасибо, узнал много нового, сэкономил много времени!
"Hello, world!" - 17 errors 56 warnings
Тупой вне форума Ответить с цитированием
Старый 22.09.2009, 00:02   #8
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

В скобках стоят запятые, потому что у автора примера на компьютере она выбрана в качестве разделителя списка, а у тебя, как и у меня, точка с запятой
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 22.09.2009, 20:48   #9
Тупой
Форумчанин
 
Аватар для Тупой
 
Регистрация: 26.12.2008
Сообщений: 146
По умолчанию

viter.alex, аа, ясно.

В продолжение темы: не могу понять, как вбивать всякие надсимвольные значки: стрелка (знак вектора), черта, "волна", и т.п. - что в equation-е можно было вбить без труда?
"Hello, world!" - 17 errors 56 warnings
Тупой вне форума Ответить с цитированием
Старый 22.09.2009, 22:12   #10
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

То же без труда:
Вот вам вектор a со →
{EQ \o(a;{EQ \s \up5({SYMBOL 8594 \u})})}
Величина сдвига в \up естественно зависит от символа и шрифта

Последний раз редактировалось Aent; 22.09.2009 в 22:17.
Aent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование формул типа Microsoft Equation 3.0 в встроенные формулы Word 2007 MariaT Microsoft Office Word 15 10.04.2010 08:52
Обьясните как работать с графикой и как решыть задачу Alex_Fort Помощь студентам 6 12.06.2009 00:05
как программно остановить программу Doget Помощь студентам 3 16.01.2009 07:45
Иероглифы в Equation mitrandir Microsoft Office Word 9 25.09.2007 09:06
Объекты Equation в JPG! Andru Microsoft Office Word 3 10.09.2007 21:59