Аннотация
При использовании в 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, которое необходимо автоматизировать, установлено на локальном компьютере. Убедитесь в возможности запуска приложения. Для этого нажмите кнопку Пуск, нажмите кнопку
Выполнить, а затем попробуйте запустить приложение. Если приложение не запускается вручную, автоматизировать его нельзя. -
Перерегистрируйте приложение описанным ниже образом.
-
Нажмите кнопку Пуск, а затем — Выполнить.
-
В диалоговом окне Выполнить введите путь к серверу и в конце строки добавьте параметр /RegServer.
-
Нажмите кнопку ОК.
Приложение выполняется автоматически. Приложение будет перерегистрировано как COM-сервер.
Если причиной возникновения проблемы является отсутствие раздела реестра, в большинстве случаев выполнение перечисленных ниже действий приводит к устранению проблемы.
-
-
Проверьте раздел LocalServer32 в разделе CLSID приложения, которое необходимо автоматизировать. Убедитесь в том, что раздел LocalServer32 указывает на правильное местоположение приложения. Проверьте, чтобы путь был указан в кратком формате (DOS 8.3). Сервер не обязательно регистрировать с использованием краткого пути. Однако длинные пути, включающие пробелы, в некоторых системах могут являться причиной возникновения проблем.
Чтобы изучить ключ пути, хранящийся для сервера, запустите редактор реестра Windows следующим образом:
-
Нажмите кнопку Пуск, а затем — Выполнить.
-
Введите regedit и нажмите кнопку ОК.
-
Перейдите в раздел HKEY_CLASSES_ROOTCLSID.
Идентификаторы CLSID для зарегистрированных серверов автоматизации в системе находятся под этим ключом.
-
Чтобы найти раздел, представляющий приложение 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}
-
Проверьте путь, чтобы убедиться, что он соответствует фактическому расположению файла.
Примечание. Краткие пути могут иногда казаться правильными ошибочно. Например, Office и Microsoft Internet Explorer (если они установлены в расположениях по умолчанию) имеют короткий путь, аналогичный C:PROGRA~1MICROS~X (где
X — это число). Этот путь может сначала не показаться кратким путем.Чтобы определить, правильный ли путь, выполните следующие действия.
-
Нажмите кнопку Пуск, а затем — Выполнить.
-
Скопируйте значение из реестра и вставьте его в поле диалогового окна Выполнить.
Примечание Перед запуском приложения удалите параметр /automation .
-
Нажмите кнопку ОК.
-
Проверьте правильность запуска приложения.
Если приложение запускается после нажатия кнопки ОК, сервер зарегистрирован правильно. Если приложение не запускается после нажатия кнопки ОК, замените значение ключа 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, чтобы отключить сторонние надстройки:
Если этот метод устраняет проблему, обратитесь к стороннему поставщику антивирусной программы для получения дополнительных сведений об обновлении антивирусной программы.
-
В меню Файл выберите пункт Параметры, а затем — Надстройки.
-
Щелкните Управление надстройками COM и нажмите кнопку Перейти.
Примечание Откроется диалоговое окно надстройки COM.
-
Снимите флажок для любой сторонней надстройки и нажмите кнопку ОК.
-
Перезапустите 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.ApplicationOn 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
Номер ошибки: | Ошибка 429 | |
Название ошибки: | Runtime error ‘429’: ActiveX component can’t create object | |
Описание ошибки: | Runtime error ‘429’: ActiveX component can’t create object. A common ActiveX error is Runtime Error 429, which usually occurs when an ActiveX component can’t create an object. It also occurs when a DLL file is corrupt or missing from your system. | |
Разработчик: | Microsoft Corporation | |
Программное обеспечение: | ActiveX | |
Относится к: | Windows XP, Vista, 7, 8, 10, 11 |
Сводка «Runtime error ‘429’: ActiveX component can’t create object
«Runtime error ‘429’: ActiveX component can’t create object» часто называется ошибкой во время выполнения (ошибка). Разработчики тратят много времени и усилий на написание кода, чтобы убедиться, что ActiveX стабилен до продажи продукта. Поскольку разработчики программного обеспечения пытаются предотвратить это, некоторые незначительные ошибки, такие как ошибка 429, возможно, не были найдены на этом этапе.
Пользователи ActiveX могут столкнуться с ошибкой 429, вызванной нормальным использованием приложения, которое также может читать как «Runtime error ‘429’: ActiveX component can’t create object. A common ActiveX error is Runtime Error 429, which usually occurs when an ActiveX component can’t create an object. It also occurs when a DLL file is corrupt or missing from your system.». Когда это происходит, конечные пользователи могут сообщить Microsoft Corporation о наличии ошибок «Runtime error ‘429’: ActiveX component can’t create object». Затем Microsoft Corporation нужно будет исправить эти ошибки в главном исходном коде и предоставить модифицированную версию для загрузки. Чтобы исправить любые документированные ошибки (например, ошибку 429) в системе, разработчик может использовать комплект обновления ActiveX.
В чем причина ошибки 429?
Сбой во время выполнения ActiveX, как правило, когда вы столкнетесь с «Runtime error ‘429’: ActiveX component can’t create object» в качестве ошибки во время выполнения. Вот три наиболее заметные причины ошибки ошибки 429 во время выполнения происходят:
Ошибка 429 Crash — Ошибка 429 остановит компьютер от выполнения обычной программной операции. Как правило, это результат того, что ActiveX не понимает входные данные или не знает, что выводить в ответ.
Утечка памяти «Runtime error ‘429’: ActiveX component can’t create object» — если есть утечка памяти в ActiveX, это может привести к тому, что ОС будет выглядеть вялой. Возможные провокации включают отсутствие девыделения памяти и ссылку на плохой код, такой как бесконечные циклы.
Ошибка 429 Logic Error — логическая ошибка возникает, когда компьютер генерирует неправильный вывод, даже если пользователь предоставляет правильный ввод. Это видно, когда исходный код Microsoft Corporation содержит недостаток в обработке данных.
Такие проблемы Runtime error ‘429’: ActiveX component can’t create object обычно вызваны повреждением файла, связанного с ActiveX, или, в некоторых случаях, его случайным или намеренным удалением. Возникновение подобных проблем является раздражающим фактором, однако их легко устранить, заменив файл Microsoft Corporation, из-за которого возникает проблема. Помимо прочего, в качестве общей меры по профилактике и очистке мы рекомендуем использовать очиститель реестра для очистки любых недопустимых записей файлов, расширений файлов Microsoft Corporation или разделов реестра, что позволит предотвратить появление связанных с ними сообщений об ошибках.
Распространенные сообщения об ошибках в Runtime error ‘429’: ActiveX component can’t create object
Общие проблемы Runtime error ‘429’: ActiveX component can’t create object, возникающие с ActiveX:
- «Ошибка Runtime error ‘429’: ActiveX component can’t create object. «
- «Ошибка программного обеспечения Win32: Runtime error ‘429’: ActiveX component can’t create object»
- «Возникла ошибка в приложении Runtime error ‘429’: ActiveX component can’t create object. Приложение будет закрыто. Приносим извинения за неудобства.»
- «К сожалению, мы не можем найти Runtime error ‘429’: ActiveX component can’t create object. «
- «Runtime error ‘429’: ActiveX component can’t create object не найден.»
- «Ошибка запуска программы: Runtime error ‘429’: ActiveX component can’t create object.»
- «Runtime error ‘429’: ActiveX component can’t create object не работает. «
- «Runtime error ‘429’: ActiveX component can’t create object остановлен. «
- «Ошибка пути программного обеспечения: Runtime error ‘429’: ActiveX component can’t create object. «
Ошибки Runtime error ‘429’: ActiveX component can’t create object EXE возникают во время установки ActiveX, при запуске приложений, связанных с Runtime error ‘429’: ActiveX component can’t create object (ActiveX), во время запуска или завершения работы или во время установки ОС Windows. Запись ошибок Runtime error ‘429’: ActiveX component can’t create object внутри ActiveX имеет решающее значение для обнаружения неисправностей электронной Windows и ретрансляции обратно в Microsoft Corporation для параметров ремонта.
Причины ошибок в файле Runtime error ‘429’: ActiveX component can’t create object
Эти проблемы Runtime error ‘429’: ActiveX component can’t create object создаются отсутствующими или поврежденными файлами Runtime error ‘429’: ActiveX component can’t create object, недопустимыми записями реестра ActiveX или вредоносным программным обеспечением.
Особенно ошибки Runtime error ‘429’: ActiveX component can’t create object проистекают из:
- Недопустимая или поврежденная запись Runtime error ‘429’: ActiveX component can’t create object.
- Зазаражение вредоносными программами повредил файл Runtime error ‘429’: ActiveX component can’t create object.
- Вредоносное удаление (или ошибка) Runtime error ‘429’: ActiveX component can’t create object другим приложением (не ActiveX).
- Другое приложение, конфликтующее с Runtime error ‘429’: ActiveX component can’t create object или другими общими ссылками.
- Неполный или поврежденный ActiveX (Runtime error ‘429’: ActiveX component can’t create object) из загрузки или установки.
Продукт Solvusoft
Загрузка
WinThruster 2022 — Проверьте свой компьютер на наличие ошибок.
Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11
Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление
My company has a VB6 application using Crystal Reports 7 which a client has asked to be installed on Windows 7 32 bit. It is currently installed on Windows XP 32bit SP2 machines at the client. Connection to the DB is done via ODBC to SQL Server 2000 instance on another server.
On Windows 7, the installation works fine, however when you try to open the application, the error is given.
I have looked at the following:
- Registering all the dll’s and ocx files using regsvr32. Some will not register as they either are registered already or the following message is given «Make sure that «[name].dll» is valid DLL or OCX file and then try again.» I read this forum thread regarding this: http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/0653f685-4526-45d9-89f3-8c479a6b4c62
- Monitored the opening of the application using a ProcessMonitor application to try and spot if there is a missing dll or ocx file — this does not seem to be the case.
- Reviewed the application according to this list and nothing seems to be against these guidelines
I’ve noticed two items in the knowledge base that relate to this
- http://support.microsoft.com/kb/281848 — the comdlg32.ocx bundled with the application is version 6.0.81.69 and the one in the system32 folder on the dev machine (WinXP 32 bit) is 6.1.97.82. However if this was the issue then surely it would not work currently?
- http://support.microsoft.com/kb/184898 — I’m not sure how to confirm that this is the issue
Finally, due to complexities, I am not allowed to make code changes to this application. Even if I was, I’m not a VB6 programmer, just the guy who got the terribly support project! If code changes are required, then I’ll have to investigate using WinXP mode.
Update: I get the same error in XP Mode. That’s a Win XP with SP3 VM. This runs on a Win XP SP2 VM, is there potentially something in SP3 that would have caused this to occur? Or is it just a fact of it being XP Mode?