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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2010, 12:21   #1
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию как остановить макрос с бесконечным циклом

имеется макрос (см ниже), который нормально работает, но остановить работу макроса получается только кнопкой Reset в редакторе VB или путем закрытия файла. Подскажите как его можно выключить?

Const ИмяФайла7 = "C:\Alex.txt"
Const ИмяФайла8 = "C:\Alex1.txt"

Public РазмерФайла7 As Long, РазмерФайла8 As Long, ПоискИзмененийВременноОтключён As Boolean
Const ВременнойИнтервалМеждуПроверками = 2

Public Sub СлежениеЗаФайлом()
On Error Resume Next


Do While True ' бесконечный цикл
If Not ПоискИзмененийВременноОтключён Then
If ПоискИзмененийВременноОтключён Then Exit Sub

НовыйРазмерФайла7 = CreateObject("scripting.filesystemo bject").GetFile(ИмяФайла7).Size
If НовыйРазмерФайла7 > РазмерФайла7 Then DoFile2 (ИмяФайла7): РазмерФайла7 = НовыйРазмерФайла7

НовыйРазмерФайла8 = CreateObject("scripting.filesystemo bject").GetFile(ИмяФайла8).Size
If НовыйРазмерФайла8 > РазмерФайла8 Then DoFile1 (ИмяФайла8): РазмерФайла8 = НовыйРазмерФайла8


End If
t = Timer: While t + ВременнойИнтервалМеждуПроверками > Timer: DoEvents: Wend
Loop

End Sub
zander вне форума Ответить с цитированием
Старый 09.09.2010, 13:09   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Я же вам уже писал, как это сделать:

Код:
Sub НазначьтеЭтотМакросНаКнопкуОстановки()
    ПоискИзмененийВременноОтключён = True
End Sub
Именно для этого я ввел переменную ПоискИзмененийВременноОтключён...
EducatedFool вне форума Ответить с цитированием
Старый 09.09.2010, 15:09   #3
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию

Я понимаю что делаю что то не так... я прикрутил к кнопке как сказано - ПоискИзмененийВременноОтключён = True и после этого файлы не мониторятся однако сам макрос не останавливается.. т.е. в окне редактора VB не исчезает надпись - follow.xlsm[running] - [Лист1(Code)]. Это приводит к тому, что запустить макрос снова не получается, если только не нажать кнопку Reset. Что то не так? Может каке то установки самого Exel надо поменять?

отправил Вам благодарность.... пусть немного но все же

Последний раз редактировалось zander; 09.09.2010 в 15:16.
zander вне форума Ответить с цитированием
Старый 09.09.2010, 15:43   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Писать мало,сделать еще надо
Пускайте муху по кольцу
Вложения
Тип файла: rar Муха Хобот.rar (12.1 Кб, 48 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 09.09.2010, 20:53   #5
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию

Да, понятно что эта follow.xlsm[running] - [Лист1(Code)] на макрос не влияет, и ничего полезного для меня не отражает.

Последний раз редактировалось zander; 09.09.2010 в 21:05.
zander вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как остановить поток? pa6kevi4 Общие вопросы .NET 5 04.06.2010 17:28
помогите макрос остановить zander Microsoft Office Excel 4 28.07.2009 21:17
не могу остановить макрос =( ShuraFK Microsoft Office Excel 2 07.04.2009 13:01
Как остановить процесс Volkogriz Общие вопросы Delphi 1 15.01.2009 10:40
Как остановить поток? Никки Win Api 3 06.12.2007 22:04