Vba ошибка 429

Устранена проблема, из-за которой при автоматизации приложений Office появляется ошибка 429 времени выполнения: "Компонент ActiveX не может создать объект".

Аннотация

При использовании в Microsoft Visual Basic оператора New или функции CreateObject для создания экземпляра приложения Microsoft Office может появиться приведенное ниже сообщение об ошибке.

Ошибка времени выполнения «429»: компоненту ActiveX не удается создать объект

Эта ошибка возникает, если com-модель компонента не может создать запрошенный объект службы автоматизации, и поэтому объект службы автоматизации недоступен для Visual Basic. Эта ошибка возникает не на всех компьютерах.

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

Дополнительная информация

В Visual Basic существует несколько причин ошибки 429. Ошибка возникает, если выполняется одно из следующих условий:

  • Наличие ошибки в приложении.

  • Наличие ошибки в конфигурации системы.

  • Отсутствие какого-либо компонента.

  • Наличие поврежденного компонента.

Чтобы найти причину возникновения ошибки, необходимо изолировать проблему. Если на клиентском компьютере появляется сообщение об ошибке «429», используйте следующие сведения, чтобы изолировать и устранить ошибку в приложениях Microsoft Office.

Примечание Некоторые из приведенных ниже сведений также могут применяться к COM-серверам, отличным от Office. Однако в данной статье предполагается, что ошибка связана с автоматизацией приложений Microsoft Office.

Проверка кода

Перед устранением ошибки попробуйте изолировать одну строку кода, которая может быть причиной проблемы.

Если вы обнаружите, что одна строка кода может вызвать проблему, выполните следующие процедуры:

  • Убедитесь, что код использует явное создание объекта.

    Проблемы легче выявить, если они сужаются до одного действия. Например, найдите неявное создание объекта, которое используется в качестве одного из следующих вариантов.

    Пример кода 1

    Application.Documents.Add 'DON'T USE THIS!!

    Пример кода 2

    Dim oWordApp As New Word.Application 'DON'T USE THIS!!
    '... some other code
    oWordApp.Documents.Add

    В обоих примерах используется неявное создание объекта. Microsoft Office Word 2003 не запускается до первого вызова переменной. Поскольку код вызова переменной может быть расположен в различных частях программы, локализация проблемы может оказаться непростой задачей. Может быть трудно убедиться, что проблема вызвана при создании объекта Application или при создании объекта Document .

    Вместо этого можно выполнять явные вызовы для создания каждого объекта отдельно, как показано ниже.

    Dim oWordApp As Word.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set oDoc = oWordApp.Documents.Add

    При использовании явных вызовов для создания каждого объекта по отдельности изолировать проблему легче. Это также может сделать код более удобным для чтения.

  • При создании экземпляра приложения Office используйте функцию CreateObject вместо оператора New.

    Функция CreateObject тесно сопоставляет процесс создания, используемый большинством клиентов Microsoft Visual C++. Функция CreateObject также позволяет изменять идентификатор CLSID сервера между версиями. Функцию CreateObject можно использовать с объектами с ранней привязкой и с объектами с поздним связыванием.

  • Убедитесь, что строка ProgID, передаваемая
    в CreateObject, правильна, а затем убедитесь, что строка ProgID не зависит от версии. Например, используйте строку «Excel.Application» вместо строки «Excel.Application.8». В системе, где возникает проблема, может быть установлена более старая или более новая версия Microsoft Office, отличная от версии, указанной в строке «ProgID».

  • Используйте команду Erl , чтобы сообщить номер строки кода, которая не завершается успешно. Это может облегчить отладку приложений, которые не запускаются в интегрированной среде разработки. Следующий код указывает, какой объект службы автоматизации нельзя создать (Microsoft Word или Microsoft Office Excel 2003):

    Dim oWord As Word.Application
     Dim oExcel As Excel.Application
     
     On Error Goto err_handler
     
     1: Set oWord = CreateObject("Word.Application")
     2: Set oExcel = CreateObject("Excel.Application")
     
     ' ... some other code
     
     err_handler:
       MsgBox "The code failed at line " & Erl, vbCritical

    Для отслеживания ошибки используйте функцию MsgBox и номер строки.

  • Используйте позднюю привязку следующим образом:

    Dim oWordApp As Object

    Для объектов с ранней привязкой необходимо, чтобы их настраиваемые интерфейсы были маршалированы через границы процессов. Если пользовательский интерфейс не может быть маршалирован во время CreateObject или Во время создания, вы получите сообщение об ошибке «429». Объект с поздней привязкой использует определенный системой интерфейс IDispatch, который не требует маршалирования настраиваемого прокси. Используйте объект с поздним связыванием, чтобы убедиться, что эта процедура работает правильно.

    Если проблема возникает только при ранней привязке объекта, проблема возникает в серверном приложении. Как правило, чтобы устранить проблему, достаточно переустановить приложение, как описано в разделе «Проверка сервера автоматизации» данной статьи.

Проверка сервера автоматизации

Наиболее распространенной причиной возникновения ошибки при использовании CreateObject или New является проблема, которая влияет на серверное приложение. Обычно причиной возникновения проблемы является установка или конфигурация приложения. Для устранения неполадок используйте следующие методы:

  • Убедитесь в том, что приложение Microsoft Office, которое необходимо автоматизировать, установлено на локальном компьютере. Убедитесь в возможности запуска приложения. Для этого нажмите кнопку Пуск, нажмите кнопку
    Выполнить, а затем попробуйте запустить приложение. Если приложение не запускается вручную, автоматизировать его нельзя.

  • Перерегистрируйте приложение описанным ниже образом.

    1. Нажмите кнопку Пуск, а затем — Выполнить.

    2. В диалоговом окне Выполнить введите путь к серверу и в конце строки добавьте параметр /RegServer.

    3. Нажмите кнопку ОК.

      Приложение выполняется автоматически. Приложение будет перерегистрировано как COM-сервер.

    Если причиной возникновения проблемы является отсутствие раздела реестра, в большинстве случаев выполнение перечисленных ниже действий приводит к устранению проблемы.

  • Проверьте раздел LocalServer32 в разделе CLSID приложения, которое необходимо автоматизировать. Убедитесь в том, что раздел LocalServer32 указывает на правильное местоположение приложения. Проверьте, чтобы путь был указан в кратком формате (DOS 8.3). Сервер не обязательно регистрировать с использованием краткого пути. Однако длинные пути, включающие пробелы, в некоторых системах могут являться причиной возникновения проблем.

    Чтобы изучить ключ пути, хранящийся для сервера, запустите редактор реестра Windows следующим образом:

    1. Нажмите кнопку Пуск, а затем — Выполнить.

    2. Введите regedit и нажмите кнопку ОК.

    3. Перейдите в раздел HKEY_CLASSES_ROOTCLSID.

      Идентификаторы CLSID для зарегистрированных серверов автоматизации в системе находятся под этим ключом.

    4. Чтобы найти раздел, представляющий приложение Microsoft Office, которое необходимо автоматизировать, используйте приведенные ниже значения раздела CLSID. Поверьте в разделе CLSID путь, указанный в разделе LocalServer32.

      Сервер Office

      Раздел CLSID

      Access.Application

      {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}

      Excel.Application

      {00024500-0000-0000-C000-000000000046}

      Outlook.Application

      {0006F03A-0000-0000-C000-000000000046}

      PowerPoint.Application

      {91493441-5A91-11CF-8700-00AA0060263B}

      Word.Application

      {000209FF-0000-0000-C000-000000000046}

    5. Проверьте путь, чтобы убедиться, что он соответствует фактическому расположению файла.

    Примечание. Краткие пути могут иногда казаться правильными ошибочно. Например, Office и Microsoft Internet Explorer (если они установлены в расположениях по умолчанию) имеют короткий путь, аналогичный C:PROGRA~1MICROS~X (где
    X — это число). Этот путь может сначала не показаться кратким путем.

    Чтобы определить, правильный ли путь, выполните следующие действия.

    1. Нажмите кнопку Пуск, а затем — Выполнить.

    2. Скопируйте значение из реестра и вставьте его в поле диалогового окна Выполнить.

      Примечание Перед запуском приложения удалите параметр /automation .

    3. Нажмите кнопку ОК.

    4. Проверьте правильность запуска приложения.

      Если приложение запускается после нажатия кнопки ОК, сервер зарегистрирован правильно. Если приложение не запускается после нажатия кнопки ОК, замените значение ключа LocalServer32 правильным путем. По возможности используйте краткий путь.

  • Проверьте шаблон Normal.dot или файл ресурсов Excel.xlb на предмет возможного повреждения. Проблемы при автоматизации Microsoft Word или Microsoft Excel могут возникать вследствие повреждения шаблона Normal.dot в Microsoft Word или файла ресурсов Excel.xlb в Microsoft Excel. Чтобы протестировать эти файлы, найдите на локальных жестких дисках все экземпляры Normal.dot или Excel.xlb.

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

    Временно переименуйте файлы Normal.dot или Excel.xlb, а затем повторно запустите тест автоматизации. Если Microsoft Word и Microsoft Excel не находят эти файлы, они создают их снова. Убедитесь, что код работает. Если при создании нового файла Normal.dot код работает, удалите переименованные файлы. Эти файлы повреждены. Если код не работает, необходимо вернуть эти файлы в исходные имена файлов, чтобы сохранить все пользовательские параметры, сохраненные в этих файлах.

  • Запустите приложение под учетной записью администратора. Серверам Office требуется доступ на чтение и запись к реестру и диску. Серверы Office могут загружаться неправильно, если текущие параметры безопасности запрещают доступ на чтение и запись.

Проверка системы

Конфигурация системы также может вызвать проблемы при создании внепроцессных COM-серверов. Для устранения неполадок используйте следующие методы в системе, в которой произошла ошибка:

  • Определите, возникает ли проблема с каким-либо сервером вне процесса. Если у вас есть приложение, использующее определенный COM-сервер (например, Word), протестируйте другой внепроцессный сервер, чтобы убедиться, что проблема не возникает на самом уровне COM. Если вы не можете создать внепроцессный COM-сервер на компьютере, переустановите системные файлы OLE, как описано в разделе «Переустановка Microsoft Office» этой статьи, или переустановите операционную систему, чтобы устранить проблему.

  • Проверьте номера версий системных файлов OLE, которые управляют автоматизацией. Эти файлы обычно устанавливаются в наборе. Номера сборки этих файлов должны совпадать. Неправильно настроенная программа установки может по ошибке установить файлы отдельно. В этом случае файлы не будут сочетаться. Чтобы избежать проблем с автоматизацией, проверьте файлы, чтобы убедиться, что сборки файлов совпадают.

    Файлы автоматизации находятся в каталоге WindowsSystem32. Проверьте перечисленные ниже файлы.

    Имя файла

    Версия

    Дата изменения

    Asycfilt.dll

    10.0.16299.15

    29 сентября 2017 г.

    Ole32.dll

    10.0.16299.371

    29 марта 2018 г.

    Oleaut32.dll

    10.0.16299.431

    3 мая 2018 г.

    Olepro32.dll

    10.0.16299.15

    29 сентября 2017 г.

    Stdole2.tlb

    3.0.5014

    29 сентября 2017 г.

    Чтобы изучить версию файла, щелкните файл правой кнопкой мыши в проводнике и выберите пункт Свойства. Обратите внимание на последние четыре цифры версии файла (номер сборки) и дату последнего изменения файла. Убедитесь в том, что эти значения одинаковы для всех файлов автоматизации.

    Примечание Следующие файлы предназначены для Windows 10 версии 1709 сборки 16299.431. Эти числа и даты являются только примерами. Реальные значения могут быть иными.

  • Используйте служебную программу конфигурации системы (Msconfig.exe) для проверки служб и запуска системы на наличие сторонних приложений, которые могут ограничить выполнение кода в приложении

    OfficeПримечание. Отключите антивирусную программу только временно в тестовой системе, которая не подключена к сети.

    Кроме того, выполните следующие действия в Outlook, чтобы отключить сторонние надстройки:

    Если этот метод устраняет проблему, обратитесь к стороннему поставщику антивирусной программы для получения дополнительных сведений об обновлении антивирусной программы.

    1. В меню Файл выберите пункт Параметры, а затем — Надстройки.

    2. Щелкните Управление надстройками COM и нажмите кнопку Перейти.

      Примечание Откроется диалоговое окно надстройки COM.

    3. Снимите флажок для любой сторонней надстройки и нажмите кнопку ОК.

    4. Перезапустите Outlook.

Переустановка Microsoft Office

Если ни одна из предыдущих процедур не устраняет проблему, удалите и переустановите Office.

Дополнительные сведения см. в следующей статье Office:

Скачивание и установка или повторная установка Office 365 или Office 2016 на ПК или Mac

Ссылки

Дополнительные сведения об автоматизации Office и примерах кода см. на следующем веб-сайте Майкрософт:

Начало работы с разработкой Office

Обзор

При использовании оператора New или функции CreateObject в Microsoft Visual Basic для создания экземпляра приложения Microsoft Office, может появиться следующее сообщение об ошибке:

Ошибка выполнения ‘429’: компоненту ActiveX не удается создать объект

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

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

Дополнительные сведения

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

Позже, элементы предоставляют некоторые практические советы по устранению данной ошибки при работе с приложениями Office. Часть этой информации также относится к серверам Microsoft Office COM также, но в данной статье предполагается, что вы пытаетесь автоматизации Microsoft Office.

Проверка кода

Первое место, чтобы начать поиск проблемы — в коде. До устранения ошибки, необходимо знать, где произошла ошибка. Попробуйте сузить до одной строки кода.

Найдя код, который не удается, попробуйте сделать следующее:

  • Убедитесь, что в коде используется явное создание объекта. Любые проблемы проще найти и определить, если проблема сведена до отдельного действия. Например не выполните следующее:

    Application.Documents.Add 'DON'T USE THIS!!

    или:

    Dim oWordApp As New Word.Application 'DON'T USE THIS!!
    '... some other code
    oWordApp.Documents.Add

    Оба эти метода используется неявное создание объекта. Microsoft Word не начинается, пока переменная называется по крайней мере один раз. Поскольку переменная может вызываться в разных частях программы, это может сделать проблему трудно локализовать. Кроме того неясно, связана ли проблема с созданием объекта приложения или объекта документа.

    Вместо этого указать явные вызовы для создания каждого объекта в отдельности:

    Dim oWordApp As Word.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set oDoc = oWordApp.Documents.Add

    Это упрощает выявление проблемы и делает код более удобным для чтения.

  • При создании экземпляра приложения Microsoft Office, используйте вместо New CreateObject . CreateObject более точно соответствует процесс создания, используемый большинство клиентов Visual C++ и позволяет возможные изменения CLSID сервера между версиями. Функция CreateObject можно использовать с объектами с ранним связыванием и поздним связыванием.

  • Проверьте правильность строки ProgID, передаваемые CreateObject , а также является независимость от версии (то есть использовать «Excel.Application» вместо «Excel.Application.8»). Возможно, что система, которую дает сбой имеет более старой или новой версии Microsoft Office до версии, указанной в идентификатор ProgID.

  • Для упрощения отладки приложений, которые не запускаются в Интегрированной среде разработки, команда Erl сообщить номер строки, который не проходит. Например следующий код сообщит, какой объект автоматизации невозможно (Word или Excel):

    Dim oWord As Word.Application
    Dim oExcel As Excel.Application

    On Error Goto err_handler

    1: Set oWord = CreateObject("Word.Application")
    2: Set oExcel = CreateObject("Excel.Application")

    ' ... some other code

    err_handler:
    MsgBox "The code failed at line " & Erl, vbCritical

    Используйте сочетание окон сообщений и номеров строк для отслеживания ошибки.

  • Попробуйте использовать позднее связывание (то есть Dim oWordApp как объект). Объекты с ранней привязкой требуют их настраиваемые интерфейсы были переданы через границы процессов. Если маршалинг пользовательского интерфейса во время CreateObject или Создатьпроблемы, вы получите сообщение об ошибке 429. Позднее присоединенного объекта использует определенный системой интерфейс (IDispatch), не требуется настраиваемый прокси для маршалинга. Попробуйте использовать позднее присоединенного объекта для просмотра, если это делает разницу.

    Если проблема возникает только в том случае, когда объект является раннее связывание, проблема связана с серверного приложения и обычно можно исправить путем переустановки приложения (см. ниже).

  • При автоматизации из ASP или компонента MTS используйте CreateObject вместо Server.CreateObject(). Используя Server.CreateObject будет создан экземпляр приложения Office с использованием идентификатора пакета MTS, который приводит к проблемам с Microsoft Office.

Проверка сервера автоматизации

Самые распространенные причины возникновения ошибки CreateObject или New , проблем с самим приложением сервера. Как правило эти проблемы являются конфигурации или установки приложения. Ниже приведены некоторые элементы для проверки.

  • Проверьте Microsoft Office, приложение, которое требуется автоматизация установлена на локальном компьютере и убедитесь в том, что можно запустить приложение с самого начала и запустить диалоговое окно. Если программа не может быть запущена вручную, он не будет работать через автоматизацию.

  • Перерегистрируйте приложение, введя путь к серверу в начале и затем запустить диалоговое окно и затем добавить к концу строки/regserver . Нажмите кнопку ОК. Это без вмешательства пользователя необходимо запустить приложение и повторно зарегистрировать его как COM-сервер. Если неполадка связана с раздел реестра отсутствует, это обычно будет исправить.

  • Проверьте LocalServer32 в разделе CLSID для приложения, которое требуется автоматизация. Убедитесь, что он указывает на правильное расположение приложения и убедитесь, что указан путь в формате короткого пути (DOS 8.3). Хотя он не является обязательным требованием, на сервере будет зарегистрирован с помощью краткого пути, длинные имена путей, включающие пробелы известны возникновение проблем в некоторых системах (см. ниже).

    Чтобы проверить раздел пути, хранящиеся на сервере, запустите редактор реестра Windows, введя команду regedit в начале, а затем запустите диалоговое окно. Перейдите к разделу HKEY_CLASSES_ROOTClsid. В этом разделе вы найдете CLSID для зарегистрированных серверов автоматизации в системе. Позже с помощью значений, найти ключ, представляющий приложение Office требуется Автоматизация и проверьте его раздел LocalServer32 пути.

    +========================+=========================================+
    | Office Server | CLSID Key |
    +========================+=========================================+
    | Access.Application | {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9} |
    +————————+——————————————+
    | Excel.Application | {00024500-0000-0000-C000-000000000046} |
    +————————+——————————————+
    | FrontPage.Application | {04DF1015-7007-11D1-83BC-006097ABE675} |
    +————————+——————————————+
    | Outlook.Application | {0006F03A-0000-0000-C000-000000000046} |
    +————————+——————————————+
    | PowerPoint.Application | {91493441-5A91-11CF-8700-00AA0060263B} |
    +————————+——————————————+
    | Word.Application | {000209FF-0000-0000-C000-000000000046} |
    +————————+——————————————+
    Соответствует ли путь фактическое расположение файла? Имейте в виду, что в короткое имя создать впечатление, что путь указан правильно, когда он не может быть. Например Microsoft Office и Microsoft Internet Explorer (если он установлен в расположениях по умолчанию) будет иметь короткий путь «C:PROGRA~1MICROS~X» где X — некоторое число. Это не очевидно, что вы находитесь на короткое имя.

    Можно проверить правильность пути действительно скопировать значение из реестра и вставки в начало, а затем диалоговое окно Запуск (удалить переключатель/Automation до запуска приложения). Запускается ли приложение при нажатии кнопки ОК? Если Да, сервер зарегистрирован правильно. Если нет, следует заменить значение раздела LocalServer32 на правильный путь (используйте краткий путь, если это возможно).

  • Известны проблемы возникает при автоматизации Word или Excel, если шаблон Normal.dot (Word) или файл ресурсов Excel.xlb (Excel), был поврежден. Чтобы проверить, если произошло повреждение, поиск локальных жестких дисков для поиска всех экземпляров Normal.dot или *.xlb. (Обратите внимание, что при запуске Windows 2000, Windows NT или Windows 95 или Windows 98 с включенными профилями, может оказаться несколько копий этих файлов для каждого профиля пользователя в системе.) Временно переименуйте файлы Normal.dot или файлы *.xlb и повторно запустите проверку автоматизации (Word и Excel создаст эти файлы, если они не может их найти). Код теперь работать? Если Да, выберите файлы, которые вы переименовали следует удалить, так как они повреждены. Если это не так, переименуйте их обратно в их исходные имена, будут потеряны все пользовательские параметры, сохраненные в этих файлах.

  • При работе в Windows NT, Windows 2000, Windows XP или Windows Server 2003 система, запустите приложения под учетной записью администратора. Серверов Office требуется доступ на чтение и запись в реестре и на диске и могут не загружаться должным образом, если ваши текущие параметры безопасности запрещают эту привилегию.

Проверка системы

Конфигурация системы также может вызвать проблемы с созданием out-of-process COM-серверов. Ниже приведены несколько советов по проверке систем место возникновения ошибки.

  • Проблема происходит с любым сервером out-of-process? Если у вас есть приложение, которое использует только определенный COM-сервер (например, Word), вы захотите проверить на другой сервер out-of-process, чтобы убедиться, что проблема не связана с COM сам слой. Если нет out-of-process COM-сервера могут быть созданы в этой системе, переустановке системы OLE файлов (см. ниже), или для устранения этой проблемы потребуется переустановка операционной системы.

  • Проверьте номера версий системных файлов OLE, которые управляют автоматизацией. Эти файлы обычно устанавливаются как набор и должно соответствовать номера построений. Неправильно настроенная программа установки может ошибочно установить файлы по отдельности, к ним становятся несоответствие. Чтобы избежать проблем при автоматизации, следует проверять файлы, убедитесь, что файлы совпадают построений.

    Файлы автоматизации можно найти в каталоге WindowsSystem или WinntSystem32. Ниже приведен список файлов для проверки:

    +—————+————-+—————-+
    | File Name | Version | Date Modified |
    +—————+————-+—————-+
    | Asycfilt.dll | 2.40.4275 | March 08, 1999 |
    | Oleaut32.dll | 2.40.4275 | March 08, 1999 |
    | Olepro32.dll | 5.0.4275 | March 08, 1999 |
    | Stdole2.tlb | 2.40.4275 | March 08, 1999 |
    +—————+————-+—————-+
    Проверьте версию файла, щелкните правой кнопкой мыши файл в обозревателе и при выборе свойства из всплывающего меню. Наиболее важные значения, последние четыре цифры в версии файла (номер сборки) и дату последнего изменения. Необходимо убедиться, что эти значения одинаковы для всех файлов автоматизации.

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

    Если файлы не соответствуют номера сборок или даты изменений, вы можете загрузить самораспаковывающийся программа обновит файлы автоматизации. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

    290887 VBRun60sp6.exe устанавливает файлы времени выполнения Visual Basic 6.0 SP6

  • Windows NT 4.0 имеет известные проблемы с запуском серверы автоматизации, которые находятся в папке, которая содержит пробелы в имени и напоминает другую папку, совпадают с первыми 8 символами. Например сервер, живущих в C:Program FilesSomeFolder может не запуститься во время вызова к CreateObject, если система называется C:Program StuffSomeFolder другую папку. Дополнительные сведения см в следующей статье базы знаний:Дополнительные сведения об этой проблеме и действия, чтобы избежать этого, щелкните следующий номер статьи базы знаний Майкрософт:

    Ошибка 185126 : COM и OLE-сервер не запускается в Windows NT 4.0

Переустановка Microsoft Office.

Если ни один из предыдущих шагов позволяет устранить проблему, рассмотрите возможность удаления и переустановки Microsoft Office. Корпорация Майкрософт рекомендует сначала удалить существующую версию, а затем переустановите с исходных установочных дисков.

Полный список удаляемых элементов можно найти в следующих статьях базы знаний:

219423 OFF2000: как полностью удалить Microsoft Office 2000

158658 OFF97: как полностью удалить Microsoft Office 97

Ссылки

Дополнительные сведения об устранении неполадок при сообщении об ошибке ‘429’ щелкните следующий номер статьи базы знаний Майкрософт:

240377 HOWTO: Убедитесь в правильности установки Jet 3.5 (часть I)
Последние сведения и примеры кода по автоматизации Microsoft Office можно найти на сайте поддержки Microsoft Online по:

http://support.microsoft.com/ofd

  • Remove From My Forums
  • Question

  • A DLL required by the object can’t be used, either because it can’t be found, or it was found but was corrupted.

    Make sure all associated DLLs are available. For example, the Data Access Object (DAO) requires supporting DLLs that vary among platforms. You may have to rerun the setup program for such an object if that is what is causing this error.

    I am using Windows 10 and Office 2016 Excel visual basic.

    How can I make sure all the associated DLLs are available?

    How do I rerun the setup program for this object?

    I am wishing to run this code:-

    I am running windows 10 on notebook 64bit and subscribe to office 2016

    Microsoft Excel 16

    I get a ‘Run time error 429’

     — ActiveX component can’t create object

    when I run this code in Excel VBA.

    Set objIE = New InternetExplorer

    It should open a new instance of Internet Explorer, but the program halts with this error 429. But it appears the whole code doesn’t like the «obj» reference.

    Thanks you in anticipation if anyone can help me.

Answers

    • Proposed as answer by

      Sunday, June 26, 2016 2:58 PM

    • Marked as answer by
      David_JunFeng
      Monday, June 27, 2016 9:44 AM
  • It should be InternetExplorer.Application instead of just InternetExplorer

    Really? It get a compile error if I do so:

    But when I set a reference to

    Microsoft Internet Controls
    {EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B} 1.1
    C:WindowsSysWOW64ieframe.dll

    then this code works for me:

    Option Explicit
    
    Sub Test()
      Dim objIE As InternetExplorer
      Set objIE = New InternetExplorer
      objIE.Visible = True
    End Sub

    IMHO this issue is not related to the code but to windows, resp. the internet explorer itself.

    So I suggest the OP should repair the internet explorer:
    https://support.microsoft.com/en-us/kb/318378

    Andreas.

    • Edited by
      Andreas Killer
      Sunday, June 19, 2016 10:45 AM
    • Proposed as answer by
      David_JunFeng
      Sunday, June 26, 2016 2:58 PM
    • Marked as answer by
      David_JunFeng
      Monday, June 27, 2016 9:44 AM

  • This code does what you want:

    Option Explicit

    Sub Test()
    Dim ObjIE As Object

    Set ObjIE = CreateObject(«InternetExplorer.Application»)

    ‘…. (your code) ….

    End Sub


    Best regards, George

    • Proposed as answer by
      David_JunFeng
      Sunday, June 26, 2016 2:58 PM
    • Marked as answer by
      David_JunFeng
      Monday, June 27, 2016 9:44 AM

Run-time error 429 is a Visual Basic error often seen when creating instances in MS Office or other programs that depends or use Visual Basic. This error occurs when the Component Object Model (COM) cannot create the requested Automationobject, and the Automation object is, therefore, unavailable to Visual Basic. This error does not occur on all computers.

Many Windows users have reported experiencing over the years and over the many different iterations of the Windows Operating System that have been developed and distributed. In the majority of reported cases, Run-time error 429 rears its ugly head while the affected user is using a specific application on their Windows computer, and the error results in the affected application crashing and closing down abruptly.

Some users have also reported receiving this error when they try and run applications/add-ons designed on VB such as those provided by bloomberg and bintex.

Run-time error 429 has been the cause of worry across the many different versions of Windows that have existed, including Windows 10 – the latest and greatest in a long line of Windows Operating Systems. The most common victims of Run-time error 429 include Microsoft Office applications (Excel, Word, Outlook and the like), and Visual Basic sequence scripts.

The entirety of the error message that users affected by this problem see reads:

Run-time error ‘429’: ActiveX component can’t create the object

That being the case, this error is sometimes also referred to as ActiveX Error 429. The message accompanied by this error doesn’t really do much in the way of explaining its cause to the affected user, but it has been discovered that Run-time error 429 is almost always triggered when the affected application tries to access a file that does not exist, has been corrupted or simply hasn’t been registered on Windows for some reason. The file the application tries to access is integral to its functionality, so not being able to access it results in the application crashing and spitting out Run-time error 429.

Fixing Run-time error ‘429’: ActiveX component can’t create the object

Thankfully, though, there is a lot anyone affected by Run-time error 429 can do in order to try and get rid of the error and resolve the problem. The following are some of the absolute most effective solutions that you can use to push back when faced with Run-time error 429:

Solution 1: Perform an SFC scan

One of the leading culprits behind Run-time error 429 are system files applications need in order to function properly but which have somehow been corrupted. This is where an SFC scan comes in. The System File Checker utility is a built-in Windows tool designed specifically for the purpose of analyzing a Windows computer for corrupt or otherwise damaged system files, locating any that exist and then either repairing them or replacing them with cached, undamaged copies. If you are trying to get rid of Run-time error 429, running an SFC scan is definitely a first step in the right direction. If you are not familiar with the process of running an SFC scan on a Windows computer, simply follow this guide.

Solution 2: Re-register the affected application

If you are only running into Run-time error 429 while using a specific application on your computer, it is quite likely that you have fallen prey to the problem simply because the application in question has not been correctly configured on your computer and, therefore, is causing issues. This can quickly be remedied by simply re-registering the affected application with the onboard automation server the Windows Operating System has, after which any and all issues should be resolved on their own. To re-register the affected application on your computer, you need to:

  1. Make sure that you are logged into an Administrator account on your Windows computer. You are going to need administrative privileges to re-register an application on your computer.
  2. Determine the complete file path for the executable application file (.EXE file) belonging to the application affected by this problem. To do so, simply navigate to the directory on your computer the affected application was installed to, click on the address bar in the Windows Explorer window, copy over everything it contains to some place you can easily retrieve it from when you need it, and add the name of the file and its extension to the end of the file path. For example, if the application in question is Microsoft Word, the full file path will look something like:
    C:Program Files (x86)Microsoft OfficeOffice12WINWORD.EXE
  3. Press the Windows Logo key + R to open a Run dialog.
  4. Type in or copy over the full file path for the executable application file belonging to the application affected by Run-time error 429, followed by /regserver. The final command should look something like:
    C:Program Files (x86)Microsoft OfficeOffice12WINWORD.EXE /regserver
  5. Press Enter.
  6. Wait for the application in question to be successfully re-registered.

Once the application has been re-registered, be sure to launch and use it and check to see if Run-time error 429 still persists.

Solution 3: Re-register the file specified by the error message

In some cases, the error message affected users see with Run-time error 429 specifies a particular .OCX or .DLL file that the affected application could not access. If the error message does specify a file in your case, the specified file is simply not correctly registered in your computer’s registry. Re-registering the specified file might just be all you need to do in order to get rid of Run-time error 429. To re-register a file with your computer’s registry, you need to:

  1. Close any and all open applications.
  2. Make sure that you have the full name of the file specified by the error message noted down someplace safe.
  3. If you’re using Windows 8 or 10, simply right-click on the Start Menu button to open the WinX Menu and click on Command Prompt (Admin) to launch an elevated Command Prompt that has administrative privileges. If you’re using an older version of Windows, however, you are going to have to open the Start Menu, search for “cmd“, right-click on the search result titled cmd and click on Run as administrator to achieve the same result.
  4. Type regsvr32 filename.ocx or regsvr32 filename.dll into the elevated Command Prompt, replacing filename with the actual name of the file specified by the error message. For example, if the error message specified vbalexpbar4.ocx as the file that could not be accessed, what you type into the elevated Command Prompt will look something like:
    regsvr32 vbalexpbar4.ocx
  5. Press Enter. 

Wait for the specified file to be successfully re-registered with your computer’s registry, and then check to see if you have managed to successfully get rid of Run-time error 429.

Solution 4: Reinstall Microsoft Windows Script (For Windows XP and Windows Server 2003 users only)

The purpose of Microsoft Windows Script on Windows XP and Windows Server 2003 is to allow multiple scripting languages to work simultaneously in perfect harmony, but a failed, incomplete or corrupted installation of the utility can result in a variety of different issues, Run-time error 429 being one of them. If you are experiencing Run-time error 429 on Windows XP or Windows Server 2003, there is a good chance that simply reinstalling Microsoft Windows Script will fix the problem for you. If you would like to reinstall Microsoft Windows Script on your computer, simply:

  1. Click here if you are using Windows XP or here if you are using Windows Server 2003.
  2. Click on Download.
  3. Wait for the installer for Microsoft Windows Script to be downloaded.
  4. Once the installer has been downloaded, navigate to the directory it was downloaded to and run it.
  5. Follow the onscreen instructions and go through the installer all the way through to the end to successfully and correctly install Microsoft Windows Script on your computer.

Once you have a correct installation of Microsoft Windows Script on your computer, check to see if Run-time error 429 still persists.

Photo of Kevin Arrows

Kevin Arrows

Kevin is a dynamic and self-motivated information technology professional, with a Thorough knowledge of all facets pertaining to network infrastructure design, implementation and administration. Superior record of delivering simultaneous large-scale mission critical projects on time and under budget.

 

ALFA

Пользователь

Сообщений: 243
Регистрация: 13.09.2013

Всем привет!
Столкнулся с очень ужасной ошибкой, с ней просто невозможно работать. В файле есть макрос, который выполняется при запуске книги, он то выполняется то выскакивает эта ошибка. Подскажите как убить ошибку.

 

Юрий М

Модератор

Сообщений: 60390
Регистрация: 14.09.2012

Контакты см. в профиле

#2

30.09.2014 14:02:30

Цитата
ALFA пишет: В файле есть макрос

И где этот файл?

 

Jack

Пользователь

Сообщений: 352
Регистрация: 01.01.1970

сохранить файл в формате .xlsx  ;)

 

ALFA

Пользователь

Сообщений: 243
Регистрация: 13.09.2013

Вот если запускать файл уже при открытом приложении Excel, возникает сбой.

 

Hugo

Пользователь

Сообщений: 23137
Регистрация: 22.12.2012

Чтоб всё проверить — нужен 2.htm

 

ALFA

Пользователь

Сообщений: 243
Регистрация: 13.09.2013

вот он

Прикрепленные файлы

  • primer.zip (7.26 КБ)

 

Jack

Пользователь

Сообщений: 352
Регистрация: 01.01.1970

#7

30.09.2014 18:49:45

а если поменять в коде ЭтаКнига
строчку

Код
UserForm1.Show 0

на

Код
UserForm1.Show 1

именно на эту строчку иногда ругается

 

ALFA

Пользователь

Сообщений: 243
Регистрация: 13.09.2013

1/0 это модальное/не модальное, какое отношение имеет к делу?

 

Jack

Пользователь

Сообщений: 352
Регистрация: 01.01.1970

у вас указан параметр showmodal = true.
если я не ошибаюсь это связано с методом .Show
если .Show 1 «UserForm is modal. Default.»

 

Юрий М

Модератор

Сообщений: 60390
Регистрация: 14.09.2012

Контакты см. в профиле

 Вам предлагают вариант — проверьте. Если ничего не изменится, значит не имеет))

 

ALFA

Пользователь

Сообщений: 243
Регистрация: 13.09.2013

#11

30.09.2014 19:05:06

Ошибка действительно пропала, но окно стало модальным и теперь невозможно выполнить следующее:

Код
application.visible = false

На фоне формы отображается эксель.

 

Jack

Пользователь

Сообщений: 352
Регистрация: 01.01.1970

попробуйте тогда изменить параметр ShowModal в окне свойств юзерформы на False
оставив .Show 0
хотя лично я никогда не заморачивался оставлял по умолчанию и .Show тоже по умолчанию. (т.е. true)
и приложение скрывалось тоже

Изменено: Jack30.09.2014 19:10:53

 

ALFA

Пользователь

Сообщений: 243
Регистрация: 13.09.2013

 

Jack

Пользователь

Сообщений: 352
Регистрация: 01.01.1970

#14

30.09.2014 19:31:09

потестил.

Код
.showmodal = false 
.show 0

приложение у меня скрывается.

Изменено: Jack30.09.2014 19:31:26

 

ALFA

Пользователь

Сообщений: 243
Регистрация: 13.09.2013

У меня появляется ошибка, если приложение excel уже запущено(Открыт иной файл) на момент открытия файла, если я ставлю .show 0 то есть ошибка, если ставлю .show 1 то ошибка пропадает и application не скрывается.

 

Doober

Пользователь

Сообщений: 2141
Регистрация: 09.04.2013

#16

30.09.2014 23:54:32

Цитата
то ошибка пропадает и application не скрывается.

Все верно,код выполнится после закрытия формы.
А если так?

Код
Public Sub Workbook_Open()
Application.Visible = False
UserForm1.Show 1
End Sub 

Изменено: Doober01.10.2014 02:20:06

<#0>

 

bombowoz

Пользователь

Сообщений: 6
Регистрация: 24.11.2019

#17

25.11.2019 00:01:28

Доброго времени суток Всем.
продолжу в этой теме….     …….. про WshShell

Год назад написал я макрос для Excel- файла с целью автоматизации деятельности своей и моих коллег. Суть макроса — запуск внешней ЕХЕ программы (самописаной) для получения от прибора данных и последующая интеграция данных в книгу Excel/
Файл с макросом работал полгода на пяти разных компьютерах (Win7, Win10, разные версии офиса…). Потом на одном компе при запуске макроса стала выскакивать ошибка 429.Всегда. Через месяц — на втором компе «поломалось»/ Ещё через два месяца перестало работать на третьем. На оставшихся двух пока работает.
Компы «корпоративные» и админятся очень издалека…. обновления ОС и офиса выполняются согласно корпоративной политике (автоматически). Пользователи сами ничего в настройках не меняли.
Текст макроса прост и процедура запуска взята копипастом на просторах интернета:

Код
Range("C20").Select
ActiveCell.FormulaR1C1 = 255
Set WshShell = CreateObject("WScript.Shell")                              <<<< на эту строку ругается дебагер и подсвечивает её жёлтым
intReturn = WshShell.Run("C:ABCGetData.exe X", 0, True)
Range("C20").Select
ActiveCell.FormulaR1C1 = intReturn

Основная проблема в том, что я не понимаю, почему перестало работать то, что полгода работало без проблем. Если-бы админы изменили что-то в политике безопасности, то у всех коллег одновременно перестало-бы работать. А так — через большие промежутки времени. Более того, что такого страшного в строке
Set WshShell = CreateObject(«WScript.Shell»). Судя по статьям в интернете — это нечто стандартное и применяется миллионными тиражами….
Именно на ней затыкается макрос и подсвечивается она в дебагере. То есть до запуска моей программы самописаной дело не доходит.
Прочитал весь интернет :(  убил уже наверное часов сто на это. Ничего не нашёл . Всякие
Dim WshShell As Object   дописывал, ….
VBA.CreateObject не меняет ничего….
/RegServer  исполнял ….
HKEY_CLASSES_ROOTCLSID  смотрел….
на одном компе переустановили офис (365) — не помогло;

Где косяк? Почему перестало работать и как всё починить?

Может есть другой способ запуска стороннего ЕХЕ-файла с параметрами (консольное приложение написано в CodeBlocks) и обязательным ожиданием ответного кода-завершения от него? (простой Shell не подходит)???

 

Юрий М

Модератор

Сообщений: 60390
Регистрация: 14.09.2012

Контакты см. в профиле

#18

25.11.2019 00:06:03

Цитата
bombowoz написал:
Суть макроса — запуск внешней ЕХЕ программы

А как это соотносится с данной темой (про ActiveX)?

 

Hugo

Пользователь

Сообщений: 23137
Регистрация: 22.12.2012

Вообще скрипты vbs на этих машинах работают? Потому что бывает что это отключают из соображений безопасности, а как именно это реализовано — я не в курсе, может отключают на корню весь объект.

 

БМВ

Модератор

Сообщений: 20940
Регистрация: 28.12.2016

Excel 2013, 2016

#20

25.11.2019 00:37:40

Цитата
Hugo написал:
бывает что это отключают из соображений безопасности,

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

https://www.script-coding.com/WSH/FileSystemObject.html

а уже потом бы решал.

По вопросам из тем форума, личку не читаю.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

#21

25.11.2019 02:06:52

Цитата
bombowoz написал: Set WshShell = CreateObject(«WScript.Shell»)   <<<< на эту строку ругается дебагер

В проекте установите ссылку на Tools — References — Windows Script Host Object Model и проверьте, работает ли такой код:

Код
Sub Test()
  ' Reference: Tools - References - Windows Script Host Object Model
  ' File: C:WindowsSystem32wshom.ocx
  Dim WshShell As IWshRuntimeLibrary.WshShell
  Set WshShell = New IWshRuntimeLibrary.WshShell
  WshShell.Popup "Hi!"
End Sub

Если не работает, то проверьте свои права доступа (правый клик — свойства — Безопасность) на чтение и выполнение для файла C:WindowsSystem32wshom.ocx

Изменено: ZVI25.11.2019 02:08:59

 

bombowoz

Пользователь

Сообщений: 6
Регистрация: 24.11.2019

#22

25.11.2019 21:43:56

Цитата
ZVI написал:
…проверьте, работает ли такой код…

спасибо за участие
— завтра попробую на том компе, где перестал работать макрос…
( на моём ноуте, что под рукой, проблема пока не всплывала, хотя у меня на ноуте птички нет на пункте «Windows Script Host Object Model»  -> макрос работает без проблем….)

Изменено: bombowoz25.11.2019 21:48:52
(дополнено)

 

БМВ

Модератор

Сообщений: 20940
Регистрация: 28.12.2016

Excel 2013, 2016

Тут из запасников пришлось достать HTA и там wscript.Shell  был , так в чистом виде в 10ке перестал работать, а если конвертить в exe то работает.

По вопросам из тем форума, личку не читаю.

 

bombowoz

Пользователь

Сообщений: 6
Регистрация: 24.11.2019

-э-э-э-э…..
Моё внимание привлекла фраза «в чистом виде перестал работать» — это значит, не только у меня «поломалось»?

З.Ы.(извините, в VBA/VBS очень слаб, не пинайте ногами)

 

БМВ

Модератор

Сообщений: 20940
Регистрация: 28.12.2016

Excel 2013, 2016

bombowoz,  hta  — ЭТО HTML Application. , то есть приложение которое работает с использованием движка браузера (в нутрях собственно HTML теги и миы или Java script.  В чистом виде — означает ,что запускается HTA файл и, видимо, по соображениям безопасности в контенте этого процесса запрещен вызов SHELL, ну дабы зловреды не запустили чего.  Блокировки объекта при вызове из VBS, VBA, я не замечал .

По вопросам из тем форума, личку не читаю.

 

bombowoz

Пользователь

Сообщений: 6
Регистрация: 24.11.2019

#26

26.11.2019 09:24:07

Цитата
ZVI написал:
проверьте, работает ли такой код

Проверил — работает на всех компах, если в чекбоксе (Tools — References — Windows Script Host Object Model) поставить птичку. Без птички не работает.
(Мой файл на моём компе работает из без этой птички)

P.S. А есть альтернатива запуска ЕХЕ помимо WshShell ? (чтобы можно было получать назад код завершения)

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

#27

26.11.2019 13:50:51

Цитата
bombowoz написал:
P.S. А есть альтернатива запуска ЕХЕ помимо WshShell ? (чтобы можно было получать назад код завершения)

можно скомпилировать не ехе, а dll и запускать из VBA напрямую, не используя сторонние библиотеки.

«Бритва Оккама» или «Принцип Калашникова»?

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

#28

26.11.2019 17:16:11

Цитата
bombowoz написал: …работает на всех компах … Без птички не работает.

Если птички не жалко, то поставьте ее и используйте такой вариант кода:

Код
Sub Test()
  ' Reference: Tools - References - Windows Script Host Object Model
  ' File: C:WindowsSystem32wshom.ocx
  Dim intReturn
  Dim WshShell As IWshRuntimeLibrary.WshShell
  Set WshShell = New IWshRuntimeLibrary.WshShell
  Range("C20").Value = 255
  intReturn = WshShell.Run("C:ABCGetData.exe X", 0, True)
  Range("C20").Value = intReturn
End Sub

Изменено: ZVI26.11.2019 17:16:35

 

bombowoz

Пользователь

Сообщений: 6
Регистрация: 24.11.2019

#29

26.11.2019 17:52:51

Цитата
ZVI написал:
такой вариант кода

Спасибо ещё раз — попробую. Отпишусь.

 

bombowoz

Пользователь

Сообщений: 6
Регистрация: 24.11.2019

#30

27.11.2019 11:09:36

ZVI,  — — работает.!
Как говорится — «ты сделал мой ноябрь».
Спасибо тебе мил человек. Дай тебе Бог здоровья.

title keywords f1_keywords ms.prod ms.assetid ms.date ms.localizationpriority

ActiveX component can’t create object or return reference to this object (Error 429)

vblr6.chm1016046

vblr6.chm1016046

office

b2eb3773-bc6e-4291-8c17-19f4038fe01b

12/08/2018

medium

ActiveX component can’t create object or return reference to this object (Error 429)

Creating objects requires that the object’s class be registered in the system registry and that any associated dynamic-link libraries (DLL) be available.

This error has the following causes and solutions:

  • The class isn’t registered. For example, the system registry has no mention of the class, or the class is mentioned, but specifies either a file of the wrong type or a file that can’t be found. If possible, try to start the object’s application. If the registry information is out of date or wrong, the application should check the registry and correct the information. If starting the application doesn’t fix the problem, rerun the application’s setup program.

  • A DLL required by the object can’t be used, either because it can’t be found, or it was found but was corrupted. Make sure all associated DLLs are available. For example, the Data Access Object (DAO) requires supporting DLLs that vary among platforms. You may have to rerun the setup program for such an object if that is what is causing this error.

  • The object is available on the machine, but it is a licensed Automation object, and can’t verify the availability of the license necessary to instantiate it.

    Some objects can be instantiated only after the component finds a license key, which verifies that the object is registered for instantiation on the current machine. When a reference is made to an object through a properly installed type library or object library, the correct key is supplied automatically.

    If the attempt to instantiate is the result of a CreateObject or GetObject call, the object must find the key. In this case, it may search the system registry or look for a special file that it creates when it is installed, for example, one with the extension .lic. If the key can’t be found, the object can’t be instantiated.

    If an end user has improperly set up the object’s application, inadvertently deleted a necessary file, or changed the system registry, the object may not be able to find its key. If the key can’t be found, the object can’t be instantiated. In this case, the instantiation may work on the developer’s system, but not on the user’s system. It may be necessary for the user to reinstall the licensed object.

  • You are trying to use the GetObject function to retrieve a reference to a class created with Visual Basic. GetObject can’t be used to obtain a reference to a class created with Visual Basic.

  • Access to the object has explicitly been denied. For example, you may be trying to access a data object that’s currently being used and is locked to prevent deadlock situations. If that’s the case, you may be able to access the object at another time.

For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).

[!includeSupport and feedback]

by


·

Published
· Updated

When using your computer and you try to automate Microsoft Office applications with Visual Basic macros, you may receive the following error message:

“Run-time error ‘429’: ActiveX component can’t create object”

This happens when the Windows ‘COM’ cannot create the requested Automation object, and the Automation object is therefore unavailable to Visual Basic. However this error does not appear on all computers.

The Microsoft Office applications are automated using an automated server system, this is generally based on the Windows COM architecture. The COM, or Component Object Model architecture, is a binary-interface standard for software componentry.

What Causes The Runtime Error 429?

There are many reasons why the runtime 429 error occurs in Visual Basic. Some of the reasons why it occurs are below. It occurs if anyone of the statements are true:

  • There is a mistake in the application.
  • There is a mistake in the system configuration.
  • There is a missing component.
  • There is a damaged component.

How To Fix The Runtime Error 429

Step 1 – Make Sure Your Application Is Able To Work With Automation

The first step is to make sure that your application can work with automation, if it turns out that it’s not the case there is no point of it at all because you would be able to get it to work. In order to check whether your application is compatible with automation, you can simply troubleshoot it. To do this follow these steps:

  • Click Start, select Run.
  • Type the name of the application in e.g. to troubleshoot Microsoft Word type in Word.
  • Press OK.

Step 2 – Re-register The Application

Re-registering the application will allow the automation server to read the application. You should do the follow steps for the program that’s causing an error. To re-register your application follow these steps:

  • Click Start, select Run.
  • Type C:Program FilesMicrosoft OfficeOfficeWord.ex/regsever.
  • This is only an example showing you what you would do to re-register Microsoft Word.

Step 3 – Rename Normal.dot And Word.xlb

This step is needed because sometimes the Runtime Error 429 occur due to the automation failing, this is down to the Normal.dot template or Word.xlb resource file being corrupted to resolve this issue follow these steps:

  • Search for all Normal.dot and Word.xlb file that are on your system and then rename them.
  • Re run your automation test to see if it runs. If this happens it means the deleted files will be recreated along with their application.
  • However it this is not the case then you need to rename the files back to the original names and re-use them.

Step 4 – Clean Out The Registry

  • Download this registry cleaner

The ‘registry’ is an extremely important part of Windows, which is constantly being used by your computer system to help it run as smoothly as possible. Every time you use your system, 100’s of registry settings need to be read to help it recall many different settings & files that your system needs to run. Unfortunately, many of these settings become corrupt or damaged, leading to Runtime errors to show. You can ensure this is not such a big problem by using a ‘registry cleaner’ to scan through your system and repair any of these damaged settings. This is highly recommended and you can see our top recommended tool below:

Понравилась статья? Поделить с друзьями:
  • Vba ошибка 424 object required как исправить
  • Vba отключить сообщения об ошибках
  • Vba отключить on error resume next
  • Vba unspecified error
  • Vba обработчик ошибок on error