Application.Run с параметром-объектом
От: Qzmich  
Дата: 25.01.05 18:57
Оценка:
Есть 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 работало...
Re: Application.Run с параметром-объектом
От: Elena_ Россия  
Дата: 25.01.05 22:37
Оценка:
Здравствуйте, 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.

Пользователь — друг программиста!
Re[2]: Application.Run с параметром-объектом
От: Qzmich  
Дата: 26.01.05 07:55
Оценка:
Здравствуйте, Elena_, Вы писали:

Q>>Как бы передать объект в макрос?


E_>Через Run нельзя передать — см. метод Run в справке



Но как-то ведь можно? Чтобы не городить сорок три прослойки?
Попробовал было через Document.Variables — естественно, результат тот-же...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.