Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2009, 05:59   #1
ytzm2hsD3X0HVxwl
Заблокирован
 
Регистрация: 02.12.2009
Сообщений: 15
По умолчанию перестыл работать DoEvents

Написал макрос, поставил кнопку стоп, DoEvents. Убрал из программы много кода чтоб быстрей работал. Теперь кнопка стоп не работает.Никто н подскажет от чего может не работать DoEvents?
ytzm2hsD3X0HVxwl вне форума Ответить с цитированием
Старый 02.12.2009, 06:55   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Никто н подскажет от чего может не работать DoEvents?
Никто не подскажет. Поскольку телепатов здесь нет.
Откуда нам знать, что Вы там убрали в коде, а что - оставили...

Будет код (желательно вместе с файлом) - будут советы.
EducatedFool вне форума Ответить с цитированием
Старый 02.12.2009, 08:48   #3
ytzm2hsD3X0HVxwl
Заблокирован
 
Регистрация: 02.12.2009
Сообщений: 15
Хорошо

Тогда вопрос банальный, как сделать кнопку стоп, в цикле?
Я понимаю так, например
Public Exit as Double
Sub Main()
Exit=False
Do
DoEvents
if Exit then Exit Sub
Loop
End Sub

Sub StopClick()
Exit=True
End Sub
Все правильно?
ytzm2hsD3X0HVxwl вне форума Ответить с цитированием
Старый 02.12.2009, 10:09   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Все правильно?
Нет, не всё.
Во-первых, не используйте в качестве переменных ключевые слова, такие, как Exit
Во-вторых, переменную лучше объявить с типом Boolean

Код:
Public ExitMacro As Boolean

Sub Main()
    ExitMacro = False
    Do
        DoEvents
        If ExitMacro Then Exit Sub
    Loop
End Sub

Sub StopClick()
    ExitMacro = True
End Sub
Пример есть в этой теме
EducatedFool вне форума Ответить с цитированием
Старый 03.12.2009, 07:03   #5
ytzm2hsD3X0HVxwl
Заблокирован
 
Регистрация: 02.12.2009
Сообщений: 15
По умолчанию

Все понял. Всем спасибо.
Тему можно закрывать.
ytzm2hsD3X0HVxwl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как работать с UltraGram? Utkin Софт 0 29.05.2009 09:31
onmouseout =((( не хатит работать... DRUG_ADDICT JavaScript, Ajax 10 17.04.2009 17:02
Идти ли работать в сеть??? Saiko Фриланс 7 13.12.2008 00:53
Хочу работать! AVer Свободное общение 14 09.09.2007 20:06
Re : Работать пора Филлип Свободное общение 27 30.01.2007 19:27