Ошибка Visual Basic 32809: решения не работают

Я работаю над макро-тяжелым Excel-файлом со многими элементами управления ActiveX. Все функции файла отлично работают на моем ПК, а другой, но я получаю ошибку 32809, когда макрос Auto_Open пытается активировать лист на других ПК.

Я знаю, что эта проблема была опубликована много раз на разных форумах, но ни одно из решений, которые я нашел, которые работали для других, не работало для меня. Я пробовал все возможные решения:

  • Удаление всех * .exd файлов из Temp \ Excel8.0 и Temp \ VBA
  • Отключение всех элементов управления ActiveX
  • Открытие файла на ПК, который не работает и сохраняет с другим именем
  • Изменение кода слегка, перекомпиляция и сохранение
  • Удаление всех элементов управления ActiveX и их повторное создание на ПК, который не работал

Единственное, что остановило ошибку 32809, состояло в удалении всех элементов управления ActiveX, но если я сохраню действующий файл на своем ПК и попытаюсь открыть его на том, который не работает, ошибка возвращается.

Хотя удаление всех элементов управления остановило ошибку, крайне сложно создать все элементы управления на другом ПК при обновлении файла. Я открыт практически для любого предложения, которое может помочь в этой крайне неприятной проблеме.

В итоге я удалил все элементы ActiveX со всех листов, прежде чем сохранять какие-либо изменения, и записывать подпрограмму для запуска при открытии файла, чтобы воссоздать все необходимые элементы управления и снова сохранить файл с элементами управления в первый раз открывается на любом ПК.

Создание элементов управления не позволяет отлаживать до тех пор, пока все процедуры не будут завершены, поэтому я использовал команду Application.OnTime вместо того, чтобы просто вызвать следующую процедуру, чтобы обойти это.

Надеюсь, это поможет. Некоторое время я сталкивался с известной ошибкой 32809 времени выполнения. в VBA, если какой-либо объект не определен, ошибка времени выполнения 32809 будет отображаться при запуске Excel VBA. но теперь больше случаев об этой ошибке выполнения не вызвано «неопределенными объектами …», это вызвано проблемами исправления безопасности Microsoft. патч делает элементы управления VBA ActiveX не распознаваемыми, поэтому VBA рассматривает эти допустимые элементы ActiveX как неопределенные объекты. Чтобы решить эту проблему, Microsoft выпустила новые исправления для исправления ранней проблемы. если вы убедитесь, что у существующего VBA нет «определенного объекта» или он хорошо работает, вы можете обновить исправление Microsoft. последняя версия для Excel 2010 должна быть 14.0.7177.5000 или новее.

Предложение: не включайте элементы управления ActiveX в VBA, если продукт используется различными пользователями. это может вызвать бесконечную проблему. любые обновления Windows могут повлиять на VBA.

  • Макрос для копирования именованного диапазона из одного рабочего листа в другой
  • Изменить шрифт диаграммы с помощью VBA
  • Ограничение размера массива WorksheetFunction
  • Формула дат в Excel
  • Соответствующая функция регулярного выражения в excel?
  • От двух до десяти знаков после запятой
  • Excel - SUMPRODUCTIF? Работать вокруг?
  • Соединение Excel ODBC не обновляет все данные
  • Переменные столбцы в форме массива в Excel
  • Чистый Excel: как я могу ссылаться на столбец с динамическим номером?
  • Использовать переменную в нескольких подмножествах VBA
  • Interesting Posts

    Воспроизведение значений на основе данных csv

    Как я могу экспортировать свои данные из куба SASS после создания запроса?

    AngularJS – любой способ экспортировать xls с динамическим контентом?

    Как вставить изображение из файла на несколько листов с помощью VBA

    Excel VBA Объедините повторяющиеся строки и добавьте количества

    vba, автозаполнение пользовательской формы из другого выбора ячейки рабочей книги

    Как запустить отладчик надстройки Excel с определенным файлом?

    vba и postgresql соединение

    Инструмент для импорта таблиц Excel

    @ key не работает в Excel

    Как перенести данные в таблицу SQL в Excel в Python?

    Почему Advanced FilterCopy возвращает только первую строку при задании критериев в диапазоне критериев?

    Извлечь подстроку и изменить значение ячейки с помощью Mid и Find в Excel (VBA)

    Excel не может установить соединение xlwings при запуске из автономного приложения Python из Excel

    Почему эта формула vlookup не использует косвенную функцию?

    Давайте будем гением компьютера.