|
|
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
Добрый день. Написал макрос, в котором ищу слово "цех". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Как обрабатывать ошибку, не разрывая цикла. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 22:45:43 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
....оооо чорт! У меня сегодня абсолютно такой же вопрос возник!!! - маялся полдня, в итоге обошелся конструкцией Resume Next. Помогло, но этот вопрос оставил осадок на душе моей. Люди добрые, расскажите нам про обработку ошибок в цикле! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 23:33:30 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
Я бы переделала код так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. А вообще по поводу ошибок возможны два варианта: 1. Игнорируем ошибку и разрешаем VBA продолжить выполнение программы (On Error Resume Next) 2. Переходим к разделу кода для обработки ошибок. (On Error GoTo МЕТКА). (Как у вас и было в примере) Оператор On Error GoTo 0 восстанавливает нормальную обработку ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2007, 10:41:47 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
1. Код: plaintext 1. 2. 3. не надо так делать (много проблем может быть) надо так Код: plaintext 1. 2. также и Код: plaintext 1. Код: plaintext Код: plaintext наверно предполагалось так Код: plaintext 1. Рекомендую опустить этот параметр (по умолчанию он все равно false) Код: plaintext 1. 2. Проверьте переменную на Nothing, прежде чем обращаться к ней Код: plaintext 1. 2. 3. 4. 5. 6. нет смысла организововать цикл в таком виде как у вас поскольку есть метод "FindNext" попробуйте разобраться в нем Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2007, 10:57:10 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
Хм... а про обработчики ошибок в цикле так никто ничего и не сказал :/ Почему вот так у меня не работает? Совсем запутался... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2007, 11:41:05 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
LETME Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2007, 16:47:00 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
lena_###, спасибо! Однако, это не совсем то. Хотелось бы понять - почему в моем примере при втором проходе в цикле не срабатывает On Error GoTo ErrorData. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 09:03:36 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
LETME Хотелось бы понять - почему в моем примере при втором проходе в цикле не срабатывает On Error GoTo ErrorData. У меня тоже были вопросы на эту тему, но поскольку так заложено, что при втором проходе не срабатывает, то я обычно это избегаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 12:02:37 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
LETMElena_###, спасибо! Однако, это не совсем то. Хотелось бы понять - почему в моем примере при втором проходе в цикле не срабатывает On Error GoTo ErrorData.Потому что обработка ошибки не рекурсивна. Ошибка случившаяся в обработчике ошибки не перехватывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:49:10 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
Chelovek TapokУ меня тоже были вопросы на эту тему, но поскольку так заложено, что при втором проходе не срабатывает, то я обычно это избегаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:51:57 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
LETMEХм... а про обработчики ошибок в цикле так никто ничего и не сказал :/ Почему вот так у меня не работает? Совсем запутался... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. есть выход Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 13:28:24 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
хммм... а это действительно рабочий вариант! vkodor, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 13:30:55 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 13:43:21 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
To LeonM можно пояснить To Do - это что? Вы уверены что это VBA? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 13:58:17 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
White Owl Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Полностью согласен, но я писал включение/выключение обработчика в цикле из расчета, что там может быть еще какая-либо обработка, игнорирование ошибок которой недопустимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 14:05:46 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
vkodorTo LeonM можно пояснить To Do - это что? Вы уверены что это VBA? )) vkodor, Вы это серьезно спрашивате??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 14:57:34 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
LETME vkodorTo LeonM можно пояснить To Do - это что? Вы уверены что это VBA? )) vkodor, Вы это серьезно спрашивате??? Вообще-то да. Открыл Excel открыл VBA скопировал код строка Код: plaintext открыл ворд ... тоже самое открыл Access, PowerPoint тоже самое дальше проверять не стал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 15:24:32 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
vkodor LETME vkodorTo LeonM можно пояснить To Do - это что? Вы уверены что это VBA? )) vkodor, Вы это серьезно спрашивате??? Вообще-то да. Открыл Excel открыл VBA скопировал код строка Код: plaintext открыл ворд ... тоже самое открыл Access, PowerPoint тоже самое дальше проверять не стал На этом месте должны стоять Ваши операторы. Номера обрабатываемых ошибок Nerr1, Nerr2 и т.п. тоже нужно подставить. Показан принцип. Посмотрите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 15:33:52 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
:) ну конечно она будет светится. Автор сообщения подразумевал отметить этим выражением, что в этом месте нужно/можно что- либо делать/выполнять - something to do. Можно было закомментировать конечно строку, вероятно просто забыл... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 15:37:24 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
Ой... опоздал) Простите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 15:37:47 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
Мда... Спасибо. Плохо когда незнал как, и забыл прочитать по ангельски. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 16:12:23 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
case 0 - нормальное завершение - забыли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 16:27:22 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
Спасибо всем кто откликнулся. Особенно vkodor за "FindNext". Как я понял мне можно обойтись без обработки ошибки, но все таки хотел для себя разобраться с сочетанием цикла While-Wend и логикой if. Например когда я делаю такой макрос Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 21:58:00 |
|
||
|
Обработка ошибки
|
|||
|---|---|---|---|
|
#18+
vad-anatolijто Ехель ругается на то, что я использую Wend без While. Т.е. он первую часть цикла не видит. Что я делаю не так.Нарушаешь принцип структурного программирования. Возьми школьный учебник информатики и прочитай его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 23:48:01 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34897440&tid=2182002]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 199ms |
| total: | 392ms |

| 0 / 0 |
