![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 122
|
![]()
Увадаемые коллеги!
Нигде не смог найти ответа, подскажите, вдруг сталкивались?! При отладке ПО (расчеты в книге, интерфейс - в форме vba) столкнулся с ситуацией, когда компиляция программы и первый сеанс работы проходят без ошибок, а при повторном запуске после выхода из программы с сохранением книги, в процессе работы программы дает ошибку excel (не дебугер vba!) - в стандартном окне с извинениями... Программа объемная. В книге использованы 5 листов, многостраничная форма, более 300 controls. Активация формы из workbook.open, выход - только по спец. клавише (гасится форма, обнуляется ряд данных в книге, книга сохраняется без запроса, закрывается с выходом из exel) И вот если просто открыть книгу, отключив макросы и, ничего не меняя снова сохранить ее через меню - то при последующем открытии уже с макросами все работает без сбоев (до следующего запуска после сохранения книги из программы). Что же происходит при операции сохранения книги, устраняющее ошибку excel? Динамических элементов в книге нет. Я бы тупо воспроизвел автоматически такую операцию, но из vba это не сделаешь. Поделитесь мыслями, пожалуйста |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Скорее всего, один из встроенных глюков Excel.
Обычно Майкрософт в таких случаях рекомендует поставить последний сервиспак. Кстати, в этом стандартном окне с извинениями есть опция типа "Отправить отчёт в Майкрософт". Вы ей пользовались, или всегда отказывались от отправки отчёта? Если отправить отчёт, в ответ через какое-то время приходит сообщение с рекомендациями. Порой пишут, что эта ошибка им известна, и пофиксена в таком-то сервиспаке. Я тоже раньше часто видел эту ошибку. Потом поставил другую версию Офиса (2003 sp2 после 2003sp1), и теперь у меня Excel вылетает гораздо реже. Лучше сразу поставьте SP3, если он у Вас ещё не установлен (и если у Вас Excel 2003) |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 122
|
![]()
спасибо за оперативную реакцию!
Беда в том, что программа рассчитана на пользователей, которые спецы по технологии, но с трудом ориентируются в ПО (даже с установкой сервиспака проблемы - многие и термина не слышали). На худой конец, придется передавать и сервиспак, и инструкции по его установке, но это крайне нежелательно. Знать бы суть происходящего при сохранении - нашелся бы вариант решить проблему. Чувствую, что при выходе из макроса с сохранением книги надо соблюсти какие-то дополнительные условия, но не соображу какие. Например, ранее не исключил в макросе зависимость старта формы от того, какой лист активирован в книге - была лавина сбоев именно exel, без диагностики со стороны vba. Похоже, что-то такое еще осталось....Чем думаем, то и получается ![]() |
![]() |
![]() |
![]() |
#4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Причина может быть в чём угодно.
Выкладывайте свою программу, посмотрим. Обычно такие проблемы решаются методом исключения - понемногу урезаем код (или количество листов \ строк на них), и смотрим, когда глюк перестанет проявляться. Но в Вашем случае это займёт уйму времени. Придётся искать другой способ. Цитата:
Или придумать другой способ закрытия Excel.
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
![]() Последний раз редактировалось EducatedFool; 02.07.2009 в 16:28. |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 122
|
![]()
Вы правы - убрал выход из эксела и ситуация изменилась:
- если не закрывая приложение запускаю файл двойным щелчком - сбой не возникает - если запускаю его из списка "файл - открыть" - excel почему-то теряет путь к текущей папке (путь используется для открытия файла *.txt из макроса) - ну это другая проблема - если приложение закрыть и потом запустить файл - вместо ошибки exel возникает глухой зависон Пересылать файл пока вряд ли имеет смысл - 1,4 Мб , но главное - не все функции элементов формы отлажены - зря у Вас много времени уйдет. Да и по мелочи косяков много на разных версиях операцинки и эксела выползает - что на них отвлекаться. Но обязательно прибегну к помощи, как добью ее, проклятую, в целом. Спасибо! |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 122
|
![]()
EducatedFool
Попробовал CodeCleaner (v.5) - дает такой же разовый эффект, как и открытие книги без макросов с последующим сохранением. Т.е. Cleaner тоже что-то очищает.... Чем же все-таки отличается сохранение книги вручную без макросов от сохранения ее по команде макроса? |
![]() |
![]() |
![]() |
#7 | |||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Цитата:
CodeCleaner по окончании очистки сохраняет обработанный файл, при этом VBA-проект НЕ компилируется. Проблема, как мне кажется, вот в чём: Цитата:
|
|||
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 122
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Stack Overflow при сохранении | Shouldercannon | Общие вопросы Delphi | 1 | 20.05.2009 11:46 |
кривая кодировка при сохранении в txt | SarahConner | Общие вопросы Delphi | 7 | 28.04.2009 15:33 |
Автоматический запуск макросов с листа на котором указан перечень макросов с параметрами и без | Neoli | Microsoft Office Excel | 2 | 09.03.2009 14:31 |
Excel без VBA | kwvdr | Microsoft Office Excel | 1 | 26.12.2008 20:11 |
Как запустить макрос при изменении другой книги Excel? | Град | Microsoft Office Excel | 12 | 10.06.2008 10:01 |