как передать управление

Программирование на Visual Basic for Applications
Artur KakTus
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 19.02.2004 (Чт) 12:00
Откуда: Ukraine

как передать управление

Сообщение Artur KakTus » 09.09.2005 (Пт) 14:10

Здравствуйте, такая проблема.

Из процедуры рабочей книги1 я передаю управление обработчику событий второй книги2. В книге2 происходит определеныый расчет, ПОТОМ в этом же обработчике МНЕ НАДО закрыть книгу1 и дальше продалжить обработку. К сожалению, если закрыть книгу1, дальнейшая работа обработчика в книге2 ПРЕРЫВАЕТСЯ :(.

Подскажите, как можно это преодолеть или как передать переменную (хотябы флаг поставить, т.е. я бы задал флаг, завершил процедуру книги1 и продолжил бы обработку Книга2. Пробывал задавать значение ячейки в книга2 и пользовался событием activate для листа, и в процедуре книга1 беред end sub ставил активацию листа(с флагом) книги2, НО всеравно при закрітии первой книги все прерывалось. Т.е. activate не подходит)..

Спасибо.
Artur KakTus

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

Сообщение GSerg » 09.09.2005 (Пт) 15:33

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

Artur KakTus
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 19.02.2004 (Чт) 12:00
Откуда: Ukraine

Сообщение Artur KakTus » 09.09.2005 (Пт) 16:23

2Gserg т.е. какбы файл настроек? попробую вечером.
А вот вроде есть такой синтаксис - ИмяПроекта.VBProject.VBComponents.Item(“ИмяМодуля”)......Но у меня его не получилось использовать, я хотел объявить глобальную переменную в Книге2 и передать ей значение.

Просто хотелось без лишнего все сделать. Сначала я в конце процедуры книги1 ставил Книга2.activate и для книги2 написал обработчик для рабочаякнига_актив... в котором отслеживал флаг на листе. Но как оказалось событие активации раб. книги происходит постоянно в процеесе моего кодинга и флаг не подошел, т.к. обработка производилась не правильно.
Потом попробывал событие Лист_актив... для книга2.... но почемуто обрубается все когда закрываю книга1, хотя в книга1 функция книга2.activate стоит перед end sub.
И наверно получается так, что ВБА распознает обработчик в Книге2, как вызванную процедуру и ВСЕ РУБИТ..... :(((
Artur KakTus


Вернуться в VBA

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

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

    TopList