Меню

Visual basic ошибка 429

Аннотация

При использовании в 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

I am trying to save Word docs using Excel VBA, but I get the error

«ActiveX component can’t create object.»

When I debug, the error comes from the line: Set wrdApps = CreateObject("Word.Application").

It was working, then it started giving me this error.

Sub saveDoc()

Dim i As Integer
For i = 1 To 2661:
    Dim fname As String
    Dim fpath As String

    With Application
        .DisplayAlerts = False
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    fname = ThisWorkbook.Worksheets(3).Range("H" & i).Value
    fpath = ThisWorkbook.Worksheets(3).Range("G" & i).Value

    Dim wrdApps As Object
    Dim wrdDoc As Object

    Set wrdApps = CreateObject("Word.Application")

    'the next line copies the active document- the ActiveDocument.FullName 
    ' is important otherwise it will just create a blank document
    wrdApps.documents.Add wrdDoc.FullName

    Set wrdDoc = wrdApps.documents.Open(ThisWorkbook.Worksheets(3).Range("f" & i).Value)
    ' do not need the Activate, it will be Activate
    wrdApps.Visible = False  

    ' the next line saves the copy to your location and name
    wrdDoc.SaveAs "I:YunRTEMP DOC & PDF" & fname

    'next line closes the copy leaving you with the original document
    wrdDoc.Close

    On Error GoTo NextSheet:
NextSheet:
    Resume NextSheet2
NextSheet2:
Next i

With Application
   .DisplayAlerts = True
   .ScreenUpdating = True
   .EnableEvents = True
End With

End Sub

Community's user avatar

asked Jun 26, 2013 at 18:03

user2525309's user avatar

3

I had an issue when upgrading from Windows 7 to 10 when bringing my hoard of VBA scripts with me.
Still not sure what the root cause of the error is, but in the mean time this piece of code worked for me.
This is a workaround that limits the need to have Word (or Outlook/Excel) already in open (manually) state, but should allow your script to run if you have your references set.
Just change "CreateObject(" to "GetObject(, ". This will tell the system to use an already open window.

The complete code to use would be:

Dim wrdApps As Object
Dim wrdDoc As Object
Set wrdApps = GetObject(, "Word.Application")

SeeYouInDisneyland's user avatar

answered Jul 11, 2018 at 23:28

user64773's user avatar

I recently had this happen to some code I had written. Out of nowhere (after running successfully for a few months), I would get the same Runtime Error ‘429’. This happened on two separate computers, the one I wrote and tested the code on months prior and the computer of the person who actually used the tool. It happened even though I used the original file on my machine and the user had been using his copy successfully for a few months, so I’m not convinced two separate files on two separate machines both got corrupted in the same manner. With that being said, I don’t have a good explanation of why this occurred. Mine would happen on a similar line of code:

Dim objFSO as Object
Set objFSO = CreateObj("Scripting.FileSystemObject")

I had the reference to the scripting library included and had done this successfully in the past.

I was able to fix the problem by changing from late to early binding on that object:

Dim objFSO as New Scripting.FileSystemObject

I have been switching everything over to early binding for some time now but this was some legacy code. A nice short little explanation on the difference between the two can be found here:
https://excelmacromastery.com/vba-dictionary/#Early_versus_Late_Binding

I’m not entirely certain why that fixed the problem, but hopefully it will help others in the future with similar issues.

answered Dec 5, 2019 at 16:19

user2731076's user avatar

user2731076user2731076

6091 gold badge6 silver badges19 bronze badges

Is wrdDoc initialised? Are you trying to use wrdDoc before the object has been Set?

wrdApps.documents.Add wrdDoc.FullName
Set wrdDoc = wrdApps.documents.Open(ThisWorkbook.Worksheets(3).Range("f" & i).Value)

Should the first line be ActiveDocument.FullName as in the comments? So:

wrdApps.documents.Add ActiveDocument.FullName

answered Sep 30, 2013 at 9:53

Simon Shirley's user avatar

0

Check that you have the Microsoft Excel Object Library and the Microsoft Office Object Library ticked in Tools > References and that they have been registered.

If they are ticked, you may need to run Detect and Repair from the Excel Help menu to make sure that the Office installation hasn’t corrupted in any way.

answered Oct 3, 2013 at 10:10

Simon Shirley's user avatar

In my case, the workbook appeared to be corrupted. Simply assigning a worksheet to a variable was throwing the error.

Dim ws as Worksheet
Set ws = ThisWorkbook.Worksheets("Data")

The workbook came directly from the client, so I’m not sure what they did with it, or how old it was but all the references appeared to be selected. Every other workbook with the same code was working correctly.

So to resolve the issue I copied the worksheets and modules to a new workbook and it worked without any issues.

Might not always be the best solution, but if you haven’t got any worksheets and modules, then it’s pretty easy.

answered Dec 3, 2019 at 8:31

Sam Martin's user avatar

Try this one.. i’ve encountered this a lot of time…

so I just run my excel by searching it (located on taskbar), then right click then «run as administrator»
or if you already created the excel file, open it from file>open>browse. avoid just double clicking the excel file to open directly.

answered Sep 9, 2018 at 8:49

Marvin Nario Machitar's user avatar

Mo1234,

Based on your post and the error message, it is difficult to point out the reason that cause the problem becuase there isn’t any related information on the application or the ActiveX component. I would like to provide some suggestions as follows:

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:

1. 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.

2. 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.

3. 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.

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

5. 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.

Hope that can help you.

Содержание

  1. «Run-time error ‘429’ ActiveX component can’t create an object» error message when you use Automation to send email messages by using Microsoft Office 2010 in Microsoft Dynamics NAV 2009 on a 32-bit Operating System
  2. Symptoms
  3. Resolution
  4. Hotfix information
  5. How to obtain the Microsoft Dynamics NAV hotfix or update files
  6. How to install a Microsoft Dynamics NAV hotfix or an update file
  7. Prerequisites
  8. Status
  9. More Information
  10. ИНФОРМАЦИЯ: Устранение неполадок ошибка 429 при автоматизации приложений Office
  11. Обзор
  12. Дополнительные сведения
  13. Проверка кода
  14. Проверка сервера автоматизации
  15. Проверка системы
  16. Переустановка Microsoft Office.
  17. Ссылки

«Run-time error ‘429’ ActiveX component can’t create an object» error message when you use Automation to send email messages by using Microsoft Office 2010 in Microsoft Dynamics NAV 2009 on a 32-bit Operating System

This article applies to Microsoft Dynamics NAV for all countries and all language locales.

Symptoms

When you use Automation to send email messages by using Microsoft Office 2010 in Microsoft Dynamics NAV 2009 on a 32-bit Operating System (OS), the NSAPPHandler.dll file generates an error. Additionally, you receive the following error message:

Run-time error ‘429’ ActiveX component can’t create an object.

Note This problem occurs on all 32-bit OS.
This problem occurs in the following products:

Microsoft Dynamics NAV 2009 R2

Microsoft Dynamcis NAV 2009 Service Pack 1 (SP1)

Resolution

Hotfix information

A supported hotfix is available from Microsoft. There is a «Hotfix download available» section at the top of this Knowledge Base article. If you are encountering an issue downloading, installing this hotfix, or have other technical support questions, contact your partner or, if enrolled in a support plan directly with Microsoft, you can contact technical support for Microsoft Dynamics and create a new support request. To do this, visit the following Microsoft Web site:

https://mbs.microsoft.com/support/newstart.aspx You can also contact technical support for Microsoft Dynamics by phone using these links for country specific phone numbers. To do this, visit one of the following Microsoft Web sites:

https://mbs.microsoft.com/customersource/support/information/SupportInformation/global_support_contacts_eng.htmIn special cases, charges that are ordinarily incurred for support calls may be canceled if a Technical Support Professional for Microsoft Dynamics and related products determines that a specific update will resolve your problem. The usual support costs will apply to any additional support questions and issues that do not qualify for the specific update in question.

How to obtain the Microsoft Dynamics NAV hotfix or update files

After you request a Microsoft Dynamics NAV hotfix, a hyperlink will be sent to you in an e-mail.

The e-mail will contain a hyperlink and a password. You can use the hyperlink to download the Microsoft Dynamics NAV hotfix or the update files. When you click the hyperlink, the File Download – Security Warning dialog box opens. Then, you are prompted to run, to save, or to cancel the download.

If you click Run, the files start the download and the extraction process. You must specify a folder for the new files, and then provide the password.

If you click Save, you must specify a path for saving the compressed file. When you open the file that you saved, you are prompted to specify a path for the files. Then, you must provide the password provided in the e-mail.

If you click Cancel, the download process stops.

How to install a Microsoft Dynamics NAV hotfix or an update file

The Microsoft Dynamics NAV platform hotfixes and updates are made available as single files. To install a Microsoft Dynamics NAV hotfix or an update, you must replace the existing Microsoft Dynamics NAV installation files with the hotfix or the update files. To do this, replace the following file in the Application Handler folder.

To replace the existing Microsoft Dynamics NAV file, follow these steps:

Locate the following Application Handler folder: C:Program FilesCommon FilesMicrosoft Dynamics NAV Application Handler.

Copy the files that you downloaded

Paste the files that you downloaded into the Application Handler folder.

Click Yes to overwrite the files in the directory.

Start an elevated command prompt and run the following command:

regsvr32 «%programfiles(x86)common filesmicrosoft dynamics navapplication handlernsapphandler.dll»

Prerequisites

You must have one of the following products installed to apply this hotfix:

Microsoft Dynamics NAV 2009 R2

Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Special note for Microsoft Dynamics NAV 2009 Service Pack 1
Before you apply this hotfix to a Microsoft Dynamics NAV 2009 Service Pack 1 installation, make sure that the current Microsoft Dynamics NAV 2009 SP1 installation has build number 32074 or a later build number. For more information, visit one of the following Microsoft websites, depending on whether you are a partner or a customer:
Partner
Combined Hotfix Release for Microsoft Dynamics NAV 2009 SP1 and Microsoft Dynamics NAV 2009 R2

If the build number of the current Microsoft Dynamics NAV 2009 Service Pack 1 installation is less than 32074, you must perform one of the following steps before you can install this hotfix:

Install hotfix 2496107. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2496107 Platform hotfix resource files for Microsoft Dynamics NAV 2009 Service Pack 1

Perform a solution upgrade to Microsoft Dynamics NAV 2009 R2. For more information about how to perform a solution upgrade from Microsoft Dynamics NAV 2009 Service Pack 1 to Microsoft Dynamics NAV 2009 R2, visit the following Microsoft website:
Install and Upgrade Instructions for Microsoft Dynamics NAV 2009 R2

For information about how to find the build number in Microsoft Dynamics NAV, visit one of the following Microsoft websites, depending on whether you are a partner or a customer:
Partner
How to Find the Build Number in Microsoft Dynamics NAV

Status

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the «Applies to» section.

More Information

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

Note This is a «FAST PUBLISH» article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Источник

ИНФОРМАЦИЯ: Устранение неполадок ошибка 429 при автоматизации приложений Office

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Попробуйте использовать позднее связывание (то есть 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 пути.

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 по:

Источник

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.

На чтение 7 мин. Просмотров 2.1k. Опубликовано 03.09.2019

Ошибка ActiveX 429 – это ошибка времени выполнения, с которой сталкиваются некоторые конечные пользователи в Windows. Ошибка обычно гарантирует, что открытое приложение внезапно останавливается и закрывается.

Он также возвращает сообщение об ошибке, в котором указано: «Ошибка времени выполнения 429: компонент ActiveX не может создать объект». Ошибка 429 наиболее часто встречается в приложениях MS Office, таких как Excel, Word, Access. или Outlook, с автоматическими сценариями последовательности Visual Basic.

Ошибка 429 в значительной степени является следствием попытки программного обеспечения получить доступ к поврежденным файлам. Таким образом, последовательность автоматизации не может работать как в сценарии. Это может быть связано с повреждением реестра, удалением файлов ОС, неполной установкой программного обеспечения или повреждением системных файлов.

Таким образом, существуют различные возможные исправления для ошибки ActiveX 429.

Содержание

  1. Как я могу исправить ошибку ActiveX 429 на Windows 10?
  2. Перерегистрировать программу
  3. Перерегистрировать указанный файл
  4. Запустите проверку на вирусы
  5. Сканирование и исправление реестра
  6. Проверьте наличие обновлений Windows
  7. Запустите проверку системных файлов
  8. Отмена системных изменений с восстановлением системы

Как я могу исправить ошибку ActiveX 429 на Windows 10?

Перерегистрировать программу

Если определенная программа генерирует ошибку ActiveX, программное обеспечение может быть неправильно настроено. Это можно исправить путем перерегистрации программного обеспечения с помощью ключа/regserver, который устраняет проблемы с сервером автоматизации.

Вот как вы можете перерегистрировать программное обеспечение с помощью Run:

  • Во-первых, убедитесь, что у вас есть права администратора с учетной записью администратора Windows.
  • Нажмите клавишу Win + R, чтобы открыть Run.
  • Введите полный путь к программному обеспечению, а затем/regserver в текстовом поле, как показано ниже. Введите точный путь, включая исполняемый файл, программного обеспечения, которое необходимо перерегистрировать.

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

Узнайте все, что нужно знать об учетной записи администратора и о том, как ее можно включить/отключить прямо здесь!

Перерегистрировать указанный файл

Если в сообщении об ошибке ActiveX указан определенный заголовок файла .OCX или .DLL, то указанный файл, вероятно, неправильно зарегистрирован в реестре.

После этого вы сможете исправить проблему с ActiveX, повторно зарегистрировав файл. Таким образом вы можете перерегистрировать указанные файлы OCX и DLL через командную строку.

  • Закройте все открытые программные окна.
  • Откройте командную строку в Windows 10, нажав клавишу Win + горячую клавишу X и выбрав в меню Командная строка (Администратор) . В качестве альтернативы, вы можете ввести «cmd» в поле поиска меню «Пуск», чтобы открыть подсказку.
  • Теперь введите «regsvr32 Filename.ocx» или «regsvr32 Filename.dll» в окне командной строки. Замените имя файла указанным заголовком файла.
  • Нажмите клавишу возврата, чтобы заново зарегистрировать файл.

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

Запустите проверку на вирусы

Это может быть случай, когда вирус повредил, возможно, удалил файлы, имеющие отношение к ошибке времени выполнения. Таким образом, запуск полной проверки на вирусы в Windows с помощью стороннего антивирусного программного обеспечения может реально исправить ошибку ActiveX 429.

Kaspersky, Avast, AVG, Symantec Norton и McAfee являются одними из наиболее высоко оцененных антивирусных утилит. Если у вас еще нет подходящего стороннего антивирусного пакета, установите бесплатную версию одной из этих утилит и выполните полную проверку на вирусы.

Нужно больше альтернатив? Больше ни слова. Вот лучшие антивирусы на рынке прямо сейчас!

Мы рекомендуем вам Bitdefender как номер мира. 1 антивирус. Он имеет кучу полезных функций и чрезвычайно мощный механизм безопасности. Он обнаружит любой вирус/вредоносное ПО, проникшее в вашу систему, и оптимизирует производительность вашего ПК.

  • Загрузите антивирус Bitdefender по специальной цене со скидкой 50% .

Сканирование и исправление реестра

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

Существуют различные очистители реестра для Windows, и CCleaner, Wise Registry Cleaner, EasyCleaner, JetCleaner, RegistryCleanerKit и WinOptimizer являются одними из наиболее высоко оцененных утилит.

Вот как вы можете сканировать реестр с помощью бесплатного CCleaner:

  • Нажмите Загрузить на этой веб-странице , чтобы сохранить установщик CCleaner в Windows. Затем откройте мастер установки для установки программного обеспечения.
  • Запустите CCleaner и нажмите Реестр , чтобы открыть очиститель реестра ниже.

  • Обратите внимание, что очиститель реестра включает флажок Проблемы ActiveX и класса , который, безусловно, следует выбрать. Установите все флажки для наиболее тщательного сканирования.
  • Нажмите Сканировать на наличие проблем , чтобы запустить сканирование реестра.После этого будут перечислены обнаруженные проблемы с реестром, которые вы можете выбрать, установив флажки.
  • Нажмите кнопку Исправить выбранные проблемы , чтобы исправить реестр. Затем вам также может понадобиться нажать еще одну кнопку Исправить все выбранные , чтобы подтвердить.

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

Проверьте наличие обновлений Windows

Вам также следует проверить и установить обновления Windows. Microsoft обычно обновляет системные файлы, которые могут быть связаны с ошибкой 429. Таким образом, обновление Windows последними пакетами обновлений и исправлениями может помочь устранить ошибки времени выполнения.

Вы можете обновить Windows следующим образом:

  • Введите «Обновление Windows» в поле поиска в меню «Кортана» или «Пуск».
  • Затем вы можете выбрать Проверить наличие обновлений, чтобы открыть параметры обновления прямо ниже.

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

Не можете обновить Windows 10? Ознакомьтесь с этим руководством, которое поможет вам быстро их решить.

Запустите проверку системных файлов

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

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

  • Сначала введите «cmd» в поле поиска Cortana или меню «Пуск».
  • Затем вы можете щелкнуть правой кнопкой мыши командную строку и выбрать Запуск от имени администратора , чтобы открыть окно подсказки.
  • Введите «sfc/scannow» в командной строке и нажмите клавишу «Return».

  • Сканирование SFC может занять до 20 минут или дольше. Если SFC что-либо исправляет, в командной строке будет указано: « Защита ресурсов Windows обнаружила поврежденные файлы и успешно восстановила их ».
  • Затем вы можете перезагрузить Windows.

Команда сканирования теперь остановлена ​​до завершения процесса? Не волнуйтесь, у нас есть простое решение для вас.

Отмена системных изменений с восстановлением системы

Средство восстановления системы отменяет системные изменения, возвращая Windows к более ранней дате. Восстановление системы – это машина времени Windows, и с помощью этого инструмента вы можете вернуть настольный компьютер или ноутбук обратно к дате, когда ваше программное обеспечение не возвращало сообщение об ошибке ActiveX.

Однако помните, что вы потеряете программное обеспечение и приложения, установленные после даты восстановления. Вы можете использовать Восстановление системы следующим образом:

  • Чтобы открыть Восстановление системы, введите «Восстановление системы» в поле поиска в меню Cortana или в меню «Пуск».
  • Выберите Создать точку восстановления, чтобы открыть окно Свойства системы.
  • Нажмите кнопку Восстановление системы , чтобы открыть окно на снимке экрана ниже.

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

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

Если восстановление системы не работает, не паникуйте. Посмотрите это полезное руководство и снова все исправьте.

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

Если у вас есть дополнительные предложения по исправлению ошибки ActiveX 429, пожалуйста, поделитесь ими ниже. Кроме того, если у вас есть какие-либо вопросы, не стесняйтесь оставлять их там.

  • Remove From My Forums
  • Question

  • Hi!
    I get the error (Run-time error ‘429’ ActiveX component can’t create object)
     when I execute my VB 6.0 program on Windows server 2003
    BUT not on Windows XP Professional.

    The code that causes error is:
    Set wrkJet = CreateWorkspace(«», «admin», «», dbUseJet)

    Is there anybody who experienced the same problem? What should I do?

    /Saki

Answers

  • Hi again!

    I have solved my problem! So nice!
    I have added reference to Microsoft DAO 3.6 Object Library instead of Microsoft DAO 3.51 Object Library in my project and it works now both on Windows Server 2003 and on Windows XP Professional.

    /Saki

  • Remove From My Forums
  • Question

  • Hi!
    I get the error (Run-time error ‘429’ ActiveX component can’t create object)
     when I execute my VB 6.0 program on Windows server 2003
    BUT not on Windows XP Professional.

    The code that causes error is:
    Set wrkJet = CreateWorkspace(«», «admin», «», dbUseJet)

    Is there anybody who experienced the same problem? What should I do?

    /Saki

Answers

  • Hi again!

    I have solved my problem! So nice!
    I have added reference to Microsoft DAO 3.6 Object Library instead of Microsoft DAO 3.51 Object Library in my project and it works now both on Windows Server 2003 and on Windows XP Professional.

    /Saki

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Visit workshop мерседес значение ошибки
  • Visit workshop display faulty w203 ошибка