Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/75: Рейтинг темы: голосов - 75, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 19.03.2015
Сообщений: 11

Падает Excel при запуске макроса

19.03.2015, 22:49. Показов 14142. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, уважаемые гуру. Застрял на одном проекте. Пишу прогу на работу для себя. Всё близилось к финалу и... уже неделю мучаюсь. Ситуация следующая: есть большой код, много форм, очень много контролов, всё завязано на Excel. В отладчике всё работает прекрасно, а вот если запустить выполнение из вне, падает Excel с претензией на:

Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: EXCEL.EXE
Версия приложения: 12.0.6718.5000
Отметка времени приложения: 54e45be7
Имя модуля с ошибкой: unknown
Версия модуля с ошибкой: 0.0.0.0
Отметка времени модуля с ошибкой: 00000000
Код исключения: c0000005
Смещение исключения: 00000000
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049

Дополнительные сведения об этой проблеме:
LCID: 1049
Brand: Office12Crash
skulcid: 1049

Пробовал на разных машинах в 2007 и 2010 Excel'е, разницы нет.
Перерыл весь интернет, в том числе и англо-американский кластер. Информации много, полезного нет. Пришёл к выводу: два варианта возникновения проблемы. 1) Корявый код. 2) Повреждён файл.
Помогите плз.
Вложения
Тип файла: rar PES.rar (1.06 Мб, 18 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2015, 22:49
Ответы с готовыми решениями:

При запуске макроса Excel выдаёт ошибку
Всем привет. Во-первых, сразу предупреждаю, что в VBA это первая моя программа. Хорошо знаю Паскаль, немного было практики в Си и Java. ...

Не работает wdActiveEndPageNumber (определение текущего номера страницы) при запуске макроса из Excel
Добрый день. Из екселя считаю количество слов в документе и на какой странице они находятся. Собсвенно слова считает, перечисляет, но вот...

Ошибка при запуске макроса в MS Excel 2007 "Subscript out of range"
Ошибка такая: Subscript out of range Наверняка ошибка в коде: Sub Las() Dim middle(1 To 10) As Single Dim mas(1 To 10, 1 To 2) As...

6
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
20.03.2015, 00:35
Цитата Сообщение от iDayNice Посмотреть сообщение
запустить выполнение из вне
Что вы имеете ввиду? И какой макрос из того десятка с лишним, которые у вас созданы выбивает программу?
0
0 / 0 / 0
Регистрация: 19.03.2015
Сообщений: 11
20.03.2015, 06:45  [ТС]
Инициализация Userform1, макрос Start.
Если поместить Userform1.Show в Private Sub Workbook_Open() или назначить кнопке, падает Excel. Если перед этим пройтись отладчиком по любой части кода, всё работает на ура.

Добавлено через 2 часа 59 минут
Разобрался кто мне Excel роняет. Два контрола Multipage (Staff и Groups). Вычитал что за Multipage'ами давно грешок есть. Они сами по себе косячные. Буду думать как лечить. Избавляться от них никак нельзя.
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
20.03.2015, 08:33
Цитата Сообщение от iDayNice Посмотреть сообщение
Если поместить Userform1.Show в Private Sub Workbook_Open() или назначить кнопке, падает Excel
Не знаю, как насчет первого действия, но поставил кнопку, назначил ей макрос Start и форма открылась по нажатию. Excel "стоит"
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
20.03.2015, 10:46
Проект явно нуждается в оптимизации. Десятки одинаковых форм, десятки одинаковых обработчиков (Private Sub TextBox496_KeyPress(...)). Почему Application.Run "ActiveDays" вместо простого вызова ActiveDays?
Почитайте о том, как использовать один обработчик для многих контролов, например тут
Как проверить, в каком из Checkbox пользователь сделал выбор?
1
0 / 0 / 0
Регистрация: 19.03.2015
Сообщений: 11
20.03.2015, 11:32  [ТС]
Спасибо за ссылку, обязательно изучу материал. Я пока только осваиваю VBA и сам понимаю что получилось громоздко. Но давайте по существу.

Сделал костыли...

Дело в том, что MultiPage'и не могут обработать параметры выдаваемые им во время загрузки формы (могут только после загрузки формы), добавил промежуточную форму, вынес обработку MultiPage'ев в отдельную процедуру, вроде как пашет... но это вот как раз не оптимизация кода, а совсем наоборот. Что скажете?

Добавлено через 3 минуты
... а нет, не пашет

Теперь вот:

Сигнатура проблемы:
Имя события проблемы: BEX
Имя приложения: EXCEL.EXE
Версия приложения: 14.0.4756.1000
Отметка времени приложения: 4b9c08e8
Имя модуля с ошибкой: unknown
Версия модуля с ошибкой: 0.0.0.0
Отметка времени модуля с ошибкой: 00000000
Смещение исключения: 00000000
Код исключения: c0000005
Данные исключения: 00000008
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049

Дополнительные сведения об этой проблеме:
LCID: 1049
skulcid: 1049

Добавлено через 16 минут
Цитата Сообщение от chumich Посмотреть сообщение
назначил ей макрос Start и форма открылась по нажатию. Excel "стоит"
Вы попробуйте закрыть Excel и выполнить Start из другой книги по кнопке с панели инструментов. Погоняйте стартовую форму, поюзайте контролы, может выдаст ошибку. У меня периодически отрабатывает без ошибок. Да и фиг бы с ней, но на работе постоянно открыто 10-15 книг и один такой крит уведёт все книги с собой не сохранив.

Добавлено через 9 минут
Вот кусок дампа или как его там, я тут вообще не шарю...

shared\OfficeSoftwareProtectionPlatform\ OSPPCEXT.DLL". Невозможно найти или открыть PDB-файл.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\crypt32.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\msasn1.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\WinSCard.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\winhttp.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\webio.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\winmm.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\FM20ENU.DLL". Невозможно найти или открыть PDB-файл.
Поток 0x174c завершился с кодом 0 (0x0).
Необработанное исключение по адресу 0x74A3CB49 в EXCEL.EXE: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x00000000.
0
0 / 0 / 0
Регистрация: 19.03.2015
Сообщений: 11
21.03.2015, 12:27  [ТС]
Спасибо за активное участие многочисленным участникам обсуждения. Проблема решена. Установил надстройку для очистки кода от мусора. Очистил. 6 часов, полёт нормальный. http://www.appspro.com/Utilities/CodeCleaner.htm
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2015, 12:27
Помогаю со студенческими работами здесь

Ошибка при запуске макроса
Помогите найти ошибку. Ошибка возникает в данном участке кода. ActiveWorkbook.Names.Add Name:="Значения",...

Зависает при запуске макроса
Столкнулся с такой проблемой макрос работал нормально но сегодня при его запуске он грузит грузит и потом эксель просто зависает,изменений...

Зависает эксель при запуске макроса
Здравствуйте гении!!! помогите пожалуйста, запускаю вот этот макрос и эксель зависает в смерть, можно что то тут сделать? За ранее...

Выдает ошибку при запуске макроса!
Создать программный код, в котором ввод данных осуществляется функцией InputBox. Использовать различные аргументы функции InputBox. Вывод...

Скрыть кнопки при запуске макроса
Всем привет. Довольно интересная задача. У меня есть кнопки которые надо скрыть при запуске макроса. Дело в том что я сделал вот так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru