Клиент, над которым я работаю, недавно обновил все ноутбуки до Microsoft Surface под управлением Windows 10 (версия 10.0.16299) и Office 2016: Microsoft Excel 2016 MSO (16.0.9126.2295) 64-разрядной версии Microsoft Office 365 ProPlus
Я работаю над приложением Excel VBA, которое нормально работало на старых ноутбуках, но теперь начало сбой Excel со следующей ошибкой: Необработанное исключение win32 произошло в EXCEL.EXE [14756]
При сбое Excel появляются различные диалоговые сообщения: Microsoft Excel перестала работать Отчеты об ошибках Windows перестали работать
В другом сообщении на форуме рекомендуется проверить средство просмотра событий Windows, чтобы получить журнал отчетов об ошибках. Это дало мне следующие подробности:
Имя сбойного приложения: EXCEL.EXE, версия: 16.0.9126.2295, отметка времени: 0x5bafc794 Имя сбойного модуля: MSCOMCTL.OCX, версия: 0.0.0.0, отметка времени: 0x5984a51c Код исключения: 0xc0000005 Смещение ошибки: 0x0000000000021f8f Идентификатор сбойного процесса : 0x42c8 Время запуска сбойного приложения: 0x01d47124a3a41f4c Путь сбойного приложения: C: \ Program Files \ Microsoft Office \ Root \ Office16 \ EXCEL.EXE Путь сбойного модуля: C: \ windows \ system32 \ MSCOMCTL.OCX Идентификатор отчета: 74d9c093-61f0-4616 -b20b-dc7f2acda9a5 Полное имя сбойного пакета: Идентификатор приложения, относящегося к сбойному пакету:
Я искал на многочисленных форумах решения, используя собранную мной информацию, и пока ничего не нашел.
Я изолировал проблему от конкретного действия пользователя, щелкнув элемент управления ListView. Этот элемент управления был добавлен в приложение, чтобы заменить прежний элемент управления Listbox в форме, чтобы можно было установить красный цвет шрифта там, где был выбран элемент. После перехода на ноутбуки Surface этот элемент управления ListView, похоже, вызывает конфликт, который приводит к сбою Excel. Я не могу быть более уверенным, чем это. Отключение элемента управления ListView и настройка приложения для использования элемента управления ListBox, похоже, решили проблему.
Я надеюсь, что это поможет другим. Если кто-нибудь может объяснить, почему на самом деле происходит сбой Excel, я был бы признателен, поскольку я чувствую, что у меня есть обходной путь, а не исправление.
Мне интересно, есть ли конфликт с 64-битными v 32-битными драйверами / dll-файлами. Используются следующие ссылки VBA: Ссылки VBA Отметить