|
3 / 3 / 0
Регистрация: 09.07.2022
Сообщений: 132
|
|
Excel Обработчик ошибок28.04.2023, 11:34. Показов 2026. Ответов 33
Метки нет (Все метки)
Уважаемые форумчане, подскажите пожалуйста, существует ли возможность разместить всего лишь в одном волшебном месте такой код, который бы при возникновении ошибки в работе любого из сотен макросов, останавливал работу того макроса, который вызвал ошибку и сразу запускал другой макрос, в котором уже прописан алгоритм, позволяющий исправить ситуацию?
Этот макрос уже есть. Вопрос лишь в том, как его запустить при любой ошибке, и чтобы не пришлось прописывать обработчик ошибок в каждом макросе. Уж больно их много.
0
|
|
| 28.04.2023, 11:34 | |
|
Ответы с готовыми решениями:
33
Обработчик ошибок Обработчик ошибок |
|
14 / 10 / 4
Регистрация: 19.07.2016
Сообщений: 101
|
||
| 28.04.2023, 15:13 | ||
0
|
||
|
3 / 3 / 0
Регистрация: 09.07.2022
Сообщений: 132
|
|
| 28.04.2023, 15:27 [ТС] | |
|
И всё же господа, лучше обмениваться знаниями или попытками познания, чем репликами, тешащими или защищающими своё эго))) Это не продуктивно, и не ведёт ни к чему позитивному. Глупости всегда лучше игнорировать, так как они питаются вашим вниманием, и множатся от него как Гидра.
0
|
|
|
14 / 10 / 4
Регистрация: 19.07.2016
Сообщений: 101
|
|||||||
| 28.04.2023, 15:52 | |||||||
А дело было не в бобине...По факту описываемый обработчик ошибок скорее относится к категории философского камня, т.к. обработчик событий подхватывает действия на листе (например ввод данных, а не работу кода, а события Error для Application не существует). А если лень добавлять везде обработчики, то можно программно добавить везде:
1
|
|||||||
|
3 / 3 / 0
Регистрация: 09.07.2022
Сообщений: 132
|
|
| 28.04.2023, 15:57 [ТС] | |
|
Fck_This,
0
|
|
| 28.04.2023, 16:23 | |
|
0
|
|
| 28.04.2023, 16:30 | ||||||
|
Код не оптимизирован под x64, недавно была тема, про SetWindowHookEx, можете там посмотреть.
В стандартном модуле. Событие ошибки готово, окно поймано, но надо его еще закрыть и дальше выполнять какой-то код. Закрыть это окно можно просто, сэмулировав нажатие ESC, если оно на переднем плане, в ином случае эта задачка, по моему, не очень простая, учитывая ,что это окно дочернее и нужно закрыть именно его а не весь Excel.
1
|
||||||
| 28.04.2023, 16:34 | |
|
jampayeshe, попробуйте пересмотреть подход. За годы постоянной практики в VBA, ни у меня, ни у моих знакомых (профессиональных программистов) не возникло даже мысли о подобном. Всякое, конечно, может быть, но, мне кажется, что вы не с той стороны зашли, и вопрос является классическим "мне нужно X, для этого, наверное, нужно сделать Y и Z. Спрошу-ка я про для начала про Y".
Спросите сразу про X
0
|
|
| 28.04.2023, 16:37 | |
|
0
|
|
| 28.04.2023, 16:43 | |
|
Не по теме: Fck_This, это ж матом. Куда модераторы смотрят?...
0
|
|
| 28.04.2023, 18:40 | ||||||
|
Окно закрывается, осталось только подогнать под x64. А вот здесь, возможно, более правильный вариант хука Как из программы управлять другой, уже запущенной программой
Кликните здесь для просмотра всего текста
0
|
||||||
|
14 / 10 / 4
Регистрация: 19.07.2016
Сообщений: 101
|
||
| 29.04.2023, 15:06 | ||
|
0
|
||
|
3 / 3 / 0
Регистрация: 09.07.2022
Сообщений: 132
|
|
| 29.04.2023, 20:57 [ТС] | |
|
По поводу смысла в таком обработчике - сам код без ошибок. Но обрабатываются огромные массивы данных. Иногда памяти не хватает и происходит ошибка. Вот на такие случаи и нужен обработчик.
0
|
|
| 02.05.2023, 09:31 | ||
|
0
|
||
|
|
||
| 11.05.2023, 15:58 | ||
|
Если вы так называете функции, вызываемые одна из другой с одной точкой входа, то оборачиваете точку входа в единый On Error Goto xx, затем в настройках IDE ставите опцию "Break On Unhandled Errors":
0
|
||
| 11.05.2023, 15:58 | |
|
Помогаю со студенческими работами здесь
34
Обработчик ошибок Обработчик ошибок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|