0 / 0 / 0
Регистрация: 10.07.2014
Сообщений: 3
|
|
1 | |
Возобновить прерванный макрос10.07.2014, 22:25. Показов 1431. Ответов 16
Метки нет (Все метки)
Всем доброго времени суток!
Подскажите, как решить следующую проблему. По протоколу DDE в таблицу Excel скидываются данные, постоянно обновляются одни и те же ячейки. В это время работает макрос, обрабатывающий получаемые данные. Иногда случаются обрывы связи. Таблица сбрасывается (ячейки "опустошаются"), после чего макрос перестает работать. Проблема в том, что через некоторое время данные снова начинают поступать, а макрос уже не работает. Человек при этом не присутствует. Как сделать, чтобы макрос не прекращал работать или же каким-либо образом возобновлял работу после восстановления обновления данных?
0
|
10.07.2014, 22:25 | |
Ответы с готовыми решениями:
16
Как запустить прерванный цикл while? Прерванный через 2 сек. формат WD 1000 Gb Прерванный Chkdsk повредил файловую систему HDD Не возобновить работу VM BOX |
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
10.07.2014, 22:37 | 2 |
Нужно изменить тот макрос - чтоб при вылете не оставались отключенными события. Это догадка такая...
2
|
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 449
|
|
11.07.2014, 16:42 | 4 |
1. Дайте поковырять DDE'-шный элементарный (ни к чему не привязанный) пример ... интерес академический (изучал, но руки пока не дошли ...). ссылки на ZVI не катят )
2. Повесьте виндовый таймер - ваша программа будет работать вечно ) - даже в режиме дебага(включеного режима конструктора)
1
|
0 / 0 / 0
Регистрация: 10.07.2014
Сообщений: 3
|
|
11.07.2014, 20:44 [ТС] | 5 |
StepInLik, а нельзя ли привести примерный код виндового таймера?
DDE-шный пример дать не могу, ибо все происходит без моего участия, из другой программы передаются значения в ячейки Экселя, с ними и работаю. Квалификация не позволяет пока работать с DDE напрямую.
0
|
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 449
|
|
14.07.2014, 16:51 | 6 |
0
|
Заблокирован
|
||||||
14.07.2014, 17:12 | 7 | |||||
Пример где макрос выполняется и не останавливается
пока не произайдет смена листа
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
14.07.2014, 17:36 | 8 |
Я бы не использовал Name - как бы чего не сбойнуло.... Пишите лучше например Name_
1
|
|
14.07.2014, 17:47
#9
|
0
|
Hugo121
|
14.07.2014, 17:54
#10
|
Не по теме: Почему 32?
0
|
Заблокирован
|
|
14.07.2014, 18:10 | 11 |
Не по теме: ..да так, цифра понравилась :) а если по теме, это называется вероятный конфликт имен так как, если я объявил явно Name в процедуре то и имя по умолчанию, тоже Name будет недоступно, наверное это вы хотели сказать
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
14.07.2014, 18:29 | 12 |
Не знаю точно как этот конфликт называется, но конфликт точно есть
0
|
0 / 0 / 0
Регистрация: 10.07.2014
Сообщений: 3
|
|
14.07.2014, 22:09 [ТС] | 13 |
StepInLik, благодарю! попробую прикрутить
0
|
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 449
|
|
15.07.2014, 10:20 | 14 |
Обратите внимание на то, что после запуска таймера - остановить его можно только установкой маркера (см. функцию). После того как таймер отработал и увидел наличие маркера - он снимается с выполнения.
Нужно понимать, что любые изменения функции таймера или ряда используемых ею - недопустимы при работе таймера т.к. если в процессе работы таймера в одной из функций будут ошибки (в ходе редактирования строк кода) - таймер остановится в режиме указания ошибки (с желтой подсветкой строки) и код со всем экселем вылетят. Т.е. 1. работающий код таймера не должен содержать ошибок и не может быть оттестирован пошагово в каком-либо режиме дебага 2. перед тем как продолжить редактировать код - надо установить маркер и лишь после остановки всех таймеров - приступать к редактированию Штука очень интересная, полезная и довольно сильная (работает даже в режиме конструктора), - но! и достаточно сложная с т.зрения создания и совершенствования.
0
|
|
15.07.2014, 11:22
#15
|
Не по теме: Вообщето я выложил самый элементарный вариант
0
|
StepInLik
|
15.07.2014, 11:45
#16
|
Не по теме: Уважаемый коллега, Антихакер32. Мне кажется ваши эмоции излишние.
1
|
|
15.07.2014, 11:55
Возобновить прерванный макрос
#17
|
Не по теме: Все понятно, извиняюсь за эмоции :), я уже говорил
0
|
15.07.2014, 11:55 | |
Как возобновить вывод программы Созданый процесс приостановить возобновить Возобновить работу прерванного процесса Как возобновить просмотр сначала? Как возобновить работу функции Как возобновить отправку формы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |