Как передать объект в процедуру по значению?

Программирование на Visual Basic for Applications
urban
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 17.04.2005 (Вс) 21:50
Откуда: Алтай

Как передать объект в процедуру по значению?

Сообщение urban » 05.12.2006 (Вт) 11:48

Неужели в VBA нельзя передать объект в процедуру по значению, а только по ссылке?

конкретный пример: объект rjob типа Range передается в процедуру для поиска в нем (объекте) определенной строки с помощью rjob.Find, которая напрочь ломает всю область rjob. А она мне нужна еще после вызова процедуры.

Конечно можно было бы передавать в процедуру только границы области (rjob.Start и rjob.End), но хочется более изящного решения

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.12.2006 (Вт) 12:07

Передавать rjob.Duplicate. По ссылке.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ZlydenGL
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 148
Зарегистрирован: 13.08.2004 (Пт) 10:02

Сообщение ZlydenGL » 05.12.2006 (Вт) 16:50

То бишь с использованием ByRef?
Покой нам только снится!!! И то редко. Поскольку нет в мире совершенства, а есть только стремление к оному.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.12.2006 (Вт) 16:55

Разумеется. Объекты по другому не передаются.
Lasciate ogni speranza, voi ch'entrate.

urban
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 17.04.2005 (Вс) 21:50
Откуда: Алтай

Сообщение urban » 05.12.2006 (Вт) 17:00

GSerg писал(а):Передавать rjob.Duplicate. По ссылке.


большое спасибо - это самое то!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 119

    TopList