Ошибка при выполнении приложения сервера progid excel application
На форумах по данной ошибке нашла решение, но попробовав это проделать, у меня не получилось уже на первом пункте, возможно не хватает прав. Прошу вас мне помочь.
For Windows 2008 Server x64
For Windows 2008 Server x86
(27) а если указать имя сервера в конструкторе?localhost
(18) То есть, Excel спокойно коннектится.
Наивный вопрос: а откуда коннектится? С клиента или с сервера?
(29) Клиент предприятия на терминальном сервере. Там же запускал скрипт.
(32) Про то. Тогда - странно очень.
Может, обработку правили - и буковку не из того алфавита поставили? Или (6).
Создание СOM-объекта происходит &НаКлиенте или &НаСервере?
Значит только костылями. Заказчику покажи это:
Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать.
(42) 1С-ный по любому переставляли.
Для 8.3 есть еще вариант, что включили в профилях безопасности ограничение на COM-объекты.
(44) Пока все нормально (глянь на всякий случай профили безопасности).
Терминальный сервер и сервер 1С на одной машине работают?
To resolve this issue follow these steps
1. Login to the server as a administrator.
2. Go to "Start" -> "Run" and enter "taskmgr"
3. Go to the process tab in task manager and check "Show Processes from all users"
4. If there are any "Excel.exe" entries on the list, right click on the entry and select "End Process"
5. Close task manager.
6. Go to "Start" -> "Run" and enter "services.msc"
7. Stop the service automating Excel if it is running.
8. Go to "Start" -> "Run" and enter "dcomcnfg"
9. This will bring up the component services window, expand out "Console Root" -> "Computers" -> "DCOM Config"
10. Find "Microsoft Excel Application" in the list of components.
11. Right click on the entry and select "Properties"
12. Go to the "Identity" tab on the properties dialog.
13. Select "The interactive user."
14. Click the "OK" button.
15. Switch to the services console
16. Start the service automating Excel
17. Test you application again.
(46) Вот это "Получилось - открылась новая книга Ексель" делалось на сервере 1С?
Помогла переустановка офиса на сервере.
Теперь не хочет открывать шаблон:
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "\. \Template\Zayvka.xlt". Это может быть вызвано одной из следующих причин.
• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.
Эта статья содержит советы по устранению неполадок для диагностики и устранения неполадок, вызывающих возникновение этой ошибки.
Дополнительные сведения
В отличие от некоторых ошибок в 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):
При автоматизации из ASP или компонента MTS используйте CreateObject вместо Server.CreateObject(). Используя Server.CreateObject будет создан экземпляр приложения Office с использованием идентификатора пакета MTS, который приводит к проблемам с Microsoft Office.
Проверка сервера автоматизации
Самые распространенные причины возникновения ошибки CreateObject или New , проблем с самим приложением сервера. Как правило эти проблемы являются конфигурации или установки приложения. Ниже приведены некоторые элементы для проверки.
Проверьте Microsoft Office, приложение, которое требуется автоматизация установлена на локальном компьютере и убедитесь в том, что можно запустить приложение с самого начала и запустить диалоговое окно. Если программа не может быть запущена вручную, он не будет работать через автоматизацию.
X\» где X — некоторое число. Это не очевидно, что вы находитесь на короткое имя.
Известны проблемы возникает при автоматизации 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, которые управляют автоматизацией. Эти файлы обычно устанавливаются как набор и должно соответствовать номера построений. Неправильно настроенная программа установки может ошибочно установить файлы по отдельности, к ним становятся несоответствие. Чтобы избежать проблем при автоматизации, следует проверять файлы, убедитесь, что файлы совпадают построений.
Файлы автоматизации можно найти в каталоге Windows\System или Winnt\System32. Ниже приведен список файлов для проверки:
+---------------+-------------+----------------+
| 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 Files\SomeFolder может не запуститься во время вызова к CreateObject, если система называется C:\Program Stuff\SomeFolder другую папку. Дополнительные сведения см в следующей статье базы знаний:Дополнительные сведения об этой проблеме и действия, чтобы избежать этого, щелкните следующий номер статьи базы знаний Майкрософт:
Ошибка 185126 : COM и OLE-сервер не запускается в Windows NT 4.0
Переустановка Microsoft Office.
Если ни один из предыдущих шагов позволяет устранить проблему, рассмотрите возможность удаления и переустановки Microsoft Office. Корпорация Майкрософт рекомендует сначала удалить существующую версию, а затем переустановите с исходных установочных дисков.
Полный список удаляемых элементов можно найти в следующих статьях базы знаний:
219423 OFF2000: как полностью удалить Microsoft Office 2000
158658 OFF97: как полностью удалить Microsoft Office 97
Ссылки
240377 HOWTO: Убедитесь в правильности установки Jet 3.5 (часть I)
Последние сведения и примеры кода по автоматизации Microsoft Office можно найти на сайте поддержки Microsoft Online по:
Версия данной статьи для Microsoft Office XP, Office 2000 и Office 97: 244264.
Аннотация
Ошибка выполнения '429': Компоненту ActiveX не удается создать объект
Данная ошибка возникает, когда модели COM (Component Object Model) не удается создать необходимый объект Automation, и поэтому объект Automation оказывается недоступен для Visual Basic. Эта ошибка возникает не на всех компьютерах.
В данной статье описывается диагностика и устранение часто встречающихся проблем, которые могут приводить к возникновению этой ошибки.
Дополнительная информация
В Visual Basic существует несколько причин ошибки 429. Данная ошибка возникает при выполнении одного из следующих условий:
Наличие ошибки в приложении.
Наличие ошибки в конфигурации системы.
Отсутствие какого-либо компонента.
Наличие поврежденного компонента.
Чтобы найти причину возникновения ошибки, необходимо изолировать проблему. Если ошибка 429 возникает на клиентском компьютере, используйте приведенные ниже сведения, чтобы изолировать и устранить ошибку в приложениях Microsoft Office.
Примечание. Некоторые из приведенных ниже сведений применимы также к COM-серверам без Microsoft Office. Однако в данной статье предполагается, что ошибка связана с автоматизацией приложений Microsoft Office.
Проверка кода
Прежде чем приступить к устранению ошибки, следует попытаться изолировать отдельную строку кода, из-за которой может возникать проблема.
В случае обнаружения отдельной строки кода, которая является причиной возникновения проблемы, выполните перечисленные ниже действия.
Проверьте, что в коде используется явное создание объекта.
Проблемы легче обнаружить, если можно сузить поле поиска до отдельного действия. Например, найдите использование неявного создания объекта в приведенных ниже примерах.
В обоих примерах используется неявное создание объекта. Microsoft Office Word 2003 не запускается до первого вызова переменной. Поскольку код вызова переменной может быть расположен в различных частях программы, локализация проблемы может оказаться непростой задачей. Бывает сложно определить, когда возникает проблема: при создании объекта Application или при создании объекта Document.
Вместо этого можно указать явные вызовы для создания каждого объекта в отдельности, как показано ниже.
При использовании явных вызовов для создания каждого объекта по отдельности изолировать проблему легче. Это также может сделать код более удобным для чтения.
При создании экземпляра приложения Microsoft Office используйте функцию CreateObject вместо оператора New.
Функция CreateObject устанавливает тесное соответствие с процессом создания, который используется большинством клиентов Microsoft Visual C++. Функция CreateObject также позволяет изменять идентификатор CLSID сервера между версиями. Функцию CreateObject можно использовать с объектами с ранней и поздней привязкой.
Убедитесь, что строка "ProgID", переданная функции
CreateObject, является верной, а затем убедитесь, что она не зависит от версии. Например, используйте строку "Excel.Application" вместо строки "Excel.Application.8". В системе, где возникает проблема, может быть установлена более старая или более новая версия Microsoft Office, отличная от версии, указанной в строке "ProgID".
Используйте команду Erl, чтобы вывести номер строки кода, в которой возникает ошибка. Это может облегчить отладку приложений, которые не запускаются в интегрированной среде разработки. Следующий код сообщает, какой объект
Automation не удается создать (Microsoft Word или Microsoft Office Excel 2003):
Для отслеживания ошибки используйте функцию MsgBox и номер строки.
Используйте позднюю привязку следующим образом:
Для объектов с ранней привязкой необходимо, чтобы их настраиваемые интерфейсы были маршалированы через границы процессов. Если настраиваемый интерфейс нельзя маршалировать при
выполнении функции CreateObject или оператора New, выводится ошибка 429. Объект с поздней привязкой использует определенный системой интерфейс IDispatch, который не требует маршалирования настраиваемого прокси. Чтобы проверить правильность выполнения этой процедуры, используйте объект с поздней привязкой.
Если проблема возникает только при использовании объекта с ранней привязкой, это свидетельствует о наличии проблемы в серверном приложении. Как правило, чтобы устранить проблему, достаточно переустановить приложение, как описано в разделе "Проверка сервера автоматизации" данной статьи.
Проверка сервера автоматизации
Наиболее распространенной причиной возникновения ошибки при выполнении функции CreateObject или оператора New является проблема с серверным приложением. Обычно причиной возникновения проблемы является установка или конфигурация приложения. Чтобы устранить неполадки, выполните перечисленные ниже действия.
Убедитесь в том, что приложение Microsoft Office, которое необходимо автоматизировать, установлено на локальном компьютере. Убедитесь в возможности запуска приложения. Для этого нажмите кнопку Пуск, выберите команду
Выполнить и попробуйте запустить приложение. Если приложение не запускается вручную, автоматизировать его нельзя.
Перерегистрируйте приложение описанным ниже образом.
В меню Пуск выберите
команду Выполнить.
В диалоговом окне Выполнить введите путь к серверу и в конце строки добавьте параметр /RegServer.
Приложение будет запущено без запроса. Приложение будет перерегистрировано как COM-сервер.
Если причиной возникновения проблемы является отсутствие раздела реестра, в большинстве случаев выполнение перечисленных ниже действий приводит к устранению проблемы.
Проверьте раздел LocalServer32 в разделе CLSID приложения, которое необходимо автоматизировать. Убедитесь в том, что раздел LocalServer32 указывает на правильное местоположение приложения. Проверьте, чтобы путь был указан в кратком формате (DOS 8.3). Сервер не обязательно регистрировать с использованием краткого пути. Однако длинные пути, включающие пробелы, в некоторых системах могут являться причиной возникновения проблем.
Чтобы проверить раздел пути, сохраненного для сервера, запустите редактор реестра описанным ниже образом.
В меню Пуск выберите
команду Выполнить.
Введите regedit, а затем нажмите кнопку
ОК.
Перейдите в раздел HKEY_CLASSES_ROOT\CLSID.
Чтобы найти раздел, представляющий приложение Microsoft Office, которое необходимо автоматизировать, используйте приведенные ниже значения раздела CLSID. Поверьте в разделе CLSID путь, указанный в разделе LocalServer32.
Сервер Microsoft Office Server
Проверьте, чтобы путь соответствовал реальному местоположению файла.
Примечание. Краткие пути могут иногда казаться правильными ошибочно. Например: и Microsoft Office, и Microsoft Internet Explorer (если они установлены в папки по умолчанию) имеют краткий путь вида C:\PROGRA
X\ (где
X — это число). Этот путь может сначала не показаться кратким путем.
Чтобы определить, что путь указан верно, выполните перечисленные ниже действия.
В меню Пуск выберите
команду Выполнить.
Скопируйте значение из реестра и вставьте его в поле диалогового окна Выполнить.
Примечание. Перед запуском приложения удалите параметр /automation.
Проверьте правильность запуска приложения.
Проверьте шаблон Normal.dot или файл ресурсов Excel.xlb на предмет возможного повреждения. Проблемы при автоматизации Microsoft Word или Microsoft Excel могут возникать вследствие повреждения шаблона Normal.dot в Microsoft Word или файла ресурсов Excel.xlb в Microsoft Excel. Чтобы проверить эти файлы, выполните поиск всех экземпляров Normal.dot или Excel.xlb на локальном жестком диске.
Примечание. В системах с Microsoft Windows 2000 или Microsoft Windows XP может присутствовать несколько копий этих файлов. Для каждого профиля пользователя, установленного в системе, имеется одна копия каждого из этих файлов.
Временно переименуйте файлы Normal.dot или Excel.xlb и повторно запустите проверку автоматизации. Если Microsoft Word и Microsoft Excel не находят эти файлы, они создают их снова. Убедитесь, что код работает. Если при создании нового файла Normal.dot код работает, удалите переименованные файлы. Эти файлы повреждены. Если код не работает, необходимо обратно переименовать эти файлы, чтобы сохранить пользовательские параметры, сохраненные в этих файлах.
На компьютере с операционной системой Windows 2000 можно запустить приложение с учетной записью администратора. Серверы Microsoft Office Server должны иметь доступ на чтение и запись к реестру и дисковому накопителю. Если текущие параметры безопасности запрещают доступ на чтение и запись, загрузка серверов Microsoft Office Server может выполняться с ошибками.
Проверка системы
Конфигурация системы также может являться причиной возникновения проблем при создании внепроцессных COM-серверов. Чтобы устранить неполадки в системе, в которой возникают ошибки, выполните перечисленные ниже действия.
Определите, возникает ли проблема с каким-либо сервером вне процесса. Если приложение использует определенный COM-сервер (например, Microsoft Word), проверьте другой сервер вне процесса, чтобы убедиться в том, что проблема не связана непосредственно с уровнем COM. Если на компьютере не удается создать внепроцессный COM-сервер, переустановите системные файлы OLE, как описано в разделе "Переустановка Microsoft Office" данной статьи, или переустановите операционную систему, чтобы устранить проблему.
Проверьте номера версий системных файлов OLE, которые управляют автоматизацией. Эти файлы обычно устанавливаются в наборе. Номера сборки этих файлов должны совпадать. Неправильно настроенная программа установки может ошибочно установить файлы по отдельности. В этом случае файлы не будут сочетаться. Чтобы избежать проблем при автоматизации, убедитесь, что номера сборки этих файлов совпадают.
Файлы автоматизации расположены в каталоге Windows\System32 или в каталоге Winnt\System32. Проверьте перечисленные ниже файлы.
Ошибка при выполнении приложения сервера «0x80080005» может возникнуть при запуске множества программ, включая explorer.exe, Windows Media Player, Google Chrome, Opera и других. В этой статье будут разобраны универсальные способы ее исправления, подходящие для любой программы и системы Windows 7, 8, 10.
Простые и эффективные способы
Как и всегда начнем разбирать способы устранения проблемы начиная с простых и заканчивая сложными. Поэтому, вот, что рекомендую сделать в первую очередь:
- Откройте «Панель управления» через «Пуск» или найдя ее в строке поиска. Затем выберите отображение мелких значков и щелкните по «Устранению неполадок». Следом выберите «Просмотр всех категорий». В списке найдите категорию приложения, с которым возникают проблемы и нажмите по ней. Затем следуйте указаниям помощника. После завершения перезагрузите компьютер.
- Откройте командную строку «Windows + R» — CMD. Введите поочередно каждую из команд, нажимая после каждой «Enter».
regsvr32 jscript.dll
regsvr32 vbscript.dll
regsvr32 wmp.dll
и нажмите «Enter». После этого воспользуйтесь еще одной командой
Dism /Online /Cleanup-Image /RestoreHealth
Если ни один из вариантов не помог, то переходите к более продвинутым способам решения.
Редактирование реестра для Windows Media Player
Еще один способ, который подсказали на официальном форуме поддержки Microsoft заключается в редактировании реестра.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\wmplayer.exe (можно просто вставить этот путь в верхнюю строку и нажать «Enter»).
Если это не поможет, то убедитесь, что установлены необходимые кодеки для воспроизведения нужного формата. Рекомендую использовать «K-Lite Codec Pack», но он не воспроизводит редкие форматы. Если это ваш случай, то возможно, понадобится поискать что-то другое.
К тому же, медиа файлы иногда скачиваются в «битом» виде, поэтому также попробуйте перекачать их и желательного с другого источника.
Восстанавливаем работу папок и проводника
Если ошибка при выполнении приложения сервера выскакивает при попытке открыть какую-либо папку или любой другой раздел через проводник «explorer.exe», то скорее всего имеем дело с неправильными путями.
Давайте проверим это и исправим.
- Заходим в реестр через «WIN + R» — regedit.
- Перемещаемся в ветку
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer (можно просто вставить этот в верхнюю строку текущего местоположения и нажать «Enter»).
Еще один вариант — снять галочку с опции «Запускать окна с папками в отдельном процессе». Находится она во вкладке «Вид» проводника — «Параметры» — «Вид».
Также в реестре можно перейти по пути HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\advanced и задать параметру «SeparateProcess» значение «0».
Дополнительные способы
Вот еще несколько пунктов, которые также дают хороший результат.
- Воспользуйтесь программой «Ccleaner» или «Advanced SystemCare» для очистки и ремонта системы. Некоторым пользователям это помогало.
- Если созданы контрольные точки для отката, то можно использовать восстановление системы. Сочетанием «WIN + R» вызываем окно выполнения и вводим «rstrui.exe». Кликаем «Далее», отмечаем дату, когда все работало и жмем «Готово».
- Для пользователей Windows 10 и 8 добавлена новая функция — откат к предыдущему состоянию. Найти ее можно через функцию поиска. Настройки будут сброшены и получится система, как сразу после установки. При этом за вами остается возможность сохранить данные.
- Попробуйте переустановить приложение, которое вызывает ошибку сервера. Удалите его через специальный деинсталлятор, например, «Your Uninstaller», а потом установите заново. Помните, что новые версии программ не всегда работают стабильно. Поэтому еще один вариант — инсталлировать более старую версию.
Если проблема наблюдается со всеми приложениями без исключения или проявляется только периодически, то стоит проверить жесткий диск.
Пишите в комментариях, если ничего не получилось. Будем разбираться вместе.
Читайте также: