![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передать параметр макросу в 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]Как конкретно вызываешь то макрос??