Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передать параметр макросу в Word


ANB ©   (2007-01-24 18:22:00) 

Никак не получается вызвать макрос с параметром. Убираю параметр из басика и вызова - работает. Добавляю параметр. Из самого басика подпрограмма вызывается. Из делфы - пытаюсь задать строку с именем, в скобках число - не находит макрос. Из списка макросов в ворде тоже подпрограмма пропадает.


jack128   (2007-01-25 14:39:00) [1]

ANB ©   (25.01.07 12:23) [3]
Заполняешь строку именем макроса и она сама его вызывает. Пока не пытаешься параметры передавать - все работает

У мя всё работает.  В обработчике OnMacro параметры спокойно передаются

PS Исходники компонента есть.  Если что, стучись на jack128_ДругЧеловека_mail.ru


umbra   (2007-01-25 13:10:00) [2]


> в ворде, насколько я знаю, нельзя выполнить произвольную
> функцию с параметрами.

это в 97 нельзя, а в тех, что поновее - можно. Там есть метод Application.Run(macroname, varg1, varg2, ......., varg30)
macroname  - это строка типа 'mydoc.doc!mymodule.mymacro'
Компонент наверняка его вызывает. По идее, св-ву MacroBefore надо присвоить значение наподобие " 'mydoc.doc!mymodule.mymacro', myarg"


ANB   (2007-01-25 12:23:00) [3]


> Как конкретно вызываешь то макрос??

Млин. Компонентой TXLReport. У нее свойство есть MacroBefore. Заполняешь строку именем макроса и она сама его вызывает. Пока не пытаешься параметры передавать - все работает. Исходников этой компоненты нету. Выкинуть не могу - ее надо юзать - там жуткий проброс был сделан, чтобы хоть ее зацепить. Писать с нуля - проблематично по времени.
Одна наша программистка как то умудрилась передать одно число. А вот как она этого добилась - сама не понимает. Пишу такой же код - ни фига не работает. И сама она свой подвиг повторить не может.


umbra   (2007-01-24 19:02:00) [4]

в ворде, насколько я знаю, нельзя выполнить произвольную функцию с параметрами. Только процедуру. В экселе можно :)
Надо, чтобы процедура брала параметр откуда-нибудь.


jack128   (2007-01-24 18:54:00) [5]

Как конкретно вызываешь то макрос??


Наверх

Титульная страница Поиск, карта сайта Написать письмо