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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2017, 10:23   #1
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию Word и Формулы

Итак
Есть 20-30 формул (объекты Education 3.0 до 2003 ).
Их надо повторить 7-10 раз с РАЗНЫМИ исходными данными.
Данные конечно есть. В исходном виде это таблица Excel с именованными колонками, число колонок тоже достаточно велико (~30) для простого Copy Paste. 30*10 =300 Copy-Paste

Т.е. одна строка Excel должна быть подставлена в нужные места их можно указать как поля (а можно ли использовать поля в формулах?) как особым способом записи [XX.fff], еще как либо.

КАЗАЛОСЬ бы написать программу для чтения Excel и подстановки значений по указанным (помеченным) местам не проблема.
НО Word2003 при беглом анализе (запись действий пользователЯ в макрос) не дает возможности редактировать Education 3.0 объекты.
Соответственно непонятно как ПРОГРАММНО добраться до тех самых мест требующих замены (какие интерфейсы использовать).
Может такие возможности есть в более старших версиях. (Word 2010 и далее).
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 04.04.2017, 10:52   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
объекты Education
опечатка? Equation имеется в виду?

я почти абсолютный ноль в использовании формул.
Но, возможно, нужно поменять инструмент?
Использовать LaTex, который придуман как раз для того, чтобы можно было в обычно тексте записать формулу ?
А полученный документ уже сконвертировать в Word (если это принципиально).
вот, первая ссылка по поиску LaTeX-to-Word
(This module converts LaTeX, AMS-LaTeX, Plain TeX, or AMS-TeX documents to Microsoft Word format. You can choose the following formats for TeX/LaTeX equations: Microsoft Equation, old Equation 3.x, or MathType. Works with Microsoft Word and Microsoft Windows.)

или LaTeX:Export_To_Other_Formats

p.s. разумеется, я всё это не проверял и не делал - пишу в рамках предложения направления.

Последний раз редактировалось Serge_Bliznykov; 04.04.2017 в 10:55.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.04.2017, 11:11   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
опечатка? Equation имеется в виду?
да, конечно.
Цитата:
Но, возможно, нужно поменять инструмент?
Использовать LaTex, который придуман как раз для того, чтобы можно было в обычно тексте записать формулу ?
Возможно, этот вариант тоже рассматривался и в общем-то сочтен приемлемым.

Дело за малым, научиться им пользоваться. И даже не столько собственно редактором LATeX (правилами записи тех же формул, графиков, ...), хотя это потребуется, сколько получением окончательного документа, будь то PDF или иной тип (doc). Но поскольку на данный момент задача потеряла остроту(срочность), то и изучение тоже отложено.

Как всегда это надо было сделать вчера. Это и было сделано, но не совсем так как хотелось бы.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 04.04.2017, 11:48   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Это и было сделано, но не совсем так как хотелось бы.
а, если не секрет, как же сделали?


Цитата:
Сообщение от evg_m Посмотреть сообщение
Дело за малым, научиться им пользоваться. И даже не столько собственно редактором LATeX (правилами записи тех же формул, графиков, ...)
конечно, потребуется!


Цитата:
Сообщение от evg_m Посмотреть сообщение
сколько получением окончательного документа, будь то PDF или иной тип (doc).
ну, самому это делать сложно.
я бы поизучал готовые инструменты.
поверхностный поиск показал, что такие инструменты есть (включая даже онлайн сервисы). А уже как ими пользоваться, что они собой представляют, насколько адекватно работают - это, конечно, отдельная тема.

Но, по крайней мере тут ясно, что делать и куда копать - взяли набор параметров - сформировали документ с кучей формул (хоть 30, хоть 300) - полученный документ сконвертировали в нужный формат. Профит.
Впрочем, моё дело предложить, а дальше Вам решать - можно ли этой идеей воспользоваться и подходит ли Вам моё предложение.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.04.2017, 12:07   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
а, если не секрет, как же сделали?
1. использование Word 2016.
отметить места для замены [q.xxx]
отметить начало блока [q.N#] (чтобы иметь возможность перехода на новую строку данных)
повторить блок формул нужное число раз (Copy Paste ....Paste)

Word сохранить как xml документ. (Word 2003 не дает нужного формата xml для записи формул).

2. Далее работа с "чистым" xml
найти нужные теги <m:t>[q.xxx]</m:t> (для формул) и <w:t> для прочего текста и заменить по таблице.
В нужный момент надо перейти к новой строке таблицы, с помощью все тех же пометок в тексте [xx.N#] и соответствующих им xml узлов(<w:t>[q.N#]</w:t>).
P.S. В Word было достаточно сложно добиться того, чтобы наша метка целиком попала в один xml-узел нижнего уровня, а не была бы "размазана" на несколько
<m:t>[</m:t>... <m:t>q.</m:t> ... <m:t>xxx]</m:t>
Но для разового применения это можно сделать.

Сохранить результаты работы желательно в новом файле (чтобы можно было сделать повторную попытку, если что-то пойдет не так).

3. Открыть модифицированный xml файл с помощью все того же Word 2016.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 04.04.2017 в 12:28.
evg_m вне форума Ответить с цитированием
Старый 04.04.2017, 12:10   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ага, понятно.
ну, имхо, это не самый плохой/кривой вариант.
многовато ручного труда, но, главное, что цель достигнута.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.04.2017, 12:44   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
многовато ручного труда, но, главное, что цель достигнута.
весь п.2. делался программно.
но как было отмечено, анализ только одного узла xml за раз накладывает сильные ограничения на оформление исходного word документа. И которые НИКОИМ образом невозможно отследить находясь внутри Wordа. При желании это тоже можно обойти, но... дело сделано и все.
Как будет в следующий раз посмотрим:
Может возьмем на вооружение LaTeX.
Может перейдем на анализ группы узлов.
Может научимся использовать "автоматизацию" Word для работы с формулами.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 04.04.2017, 12:57   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

возможно здесь что-то полезное будет
http://programmersforum.ru/showthread.php?t=63480
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.04.2017, 09:54   #9
Борис_Р
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 26
По умолчанию

Посмотрите тему "Выполнение расчетов в WORD с одновременным оформлением отчета" на форуме dwg
https://forum.dwg.ru/showthread.php?t=117610
В топике #11 скачайте вложение и посмотрите как можно сделать вычисления и вставить их результаты в формулы Ворд 2007.
Борис_Р вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Только формулы в word werovulv Microsoft Office Word 0 07.08.2015 12:24
Как нумеровать формулы в Word-2007 VistaSV30 Microsoft Office Word 17 28.01.2014 12:54
Формулы в Word 2007 из Deplphi 7 strls Общие вопросы Delphi 0 02.04.2012 23:06
Формулы в word (условный оператор + счетчик) Динара777 Microsoft Office Word 0 21.12.2010 22:18
Формулы в Word Gambler Microsoft Office Word 0 30.10.2006 23:13