Есть Word (10), в ворде есть Template (не Normal.dot), в Template есть модуль, в нем макрос.
В другом приложении пишем:
wordApplication.Run ("Template.Module.Macro","Строка") — всё в порядке.
пишем
wordApplication.Run ("Template.Module.Macro",<какой-нибудь OLE-объект>) — получаем ошибку.
Как бы передать объект в макрос? Может быть, это у меня уже крыша к вечеру едет? Если не у меня — то как мне разумно и не криво передать объект в макрос? Криво — это я могу, типа передать с параметром случайная строка, а в макросе сделать
Set A=CreateObject("Кривой.Прокси")
Param=A.RetrieveObject("та самая случайная строка")
... но это — правое ухо чесать левой ногой...
P.S. Желательно, чтобы это еще и на Office 97 работало...
Здравствуйте, Qzmich, Вы писали:
Q>Есть Word (10), в ворде есть Template (не Normal.dot), в Template есть модуль, в нем макрос.
Q>В другом приложении пишем:
Q>wordApplication.Run ("Template.Module.Macro","Строка") — всё в порядке.
Q>пишем
Q>wordApplication.Run ("Template.Module.Macro",<какой-нибудь OLE-объект>) — получаем ошибку.
Q>Как бы передать объект в макрос?
Через Run нельзя передать — см. метод Run в справке
Objects passed as arguments to the macro are converted to values (by applying the Value property to the object). This means that you cannot pass objects to macros by using the Run method.