Имя: Пароль:
1C
1С v8
БП 8.3.5.1383 Ошибка COMОбъект("Excel.Application")
, ,
0 Sh_Vlad
 
13.01.15
12:18
Здравстуйте.

Перестало работать:

Ексель = Новый COMОбъект("Excel.Application");
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

Куда смотреть?

Спасибо.
1 mikecool
 
13.01.15
12:20
не установлен эксель, смотреть в программы и компоненты
2 Sh_Vlad
 
13.01.15
12:20
(1) Установлен. 2003
3 Feunoir
 
13.01.15
12:25
Проверить наличие HKEY_CLASSES_ROOT\Excel.Application в реестре.
4 Sh_Vlad
 
13.01.15
12:33
(3) Наличиствует. + HKEY_CLASSES_ROOT\Excel.Application.11
5 Sh_Vlad
 
13.01.15
12:34
Работало до недавнего времени. Года три обработке
6 Leksus
 
13.01.15
12:35
В релизе 8.3.5.1400 кажется что-то исправляли с подключением ком
7 senior
 
13.01.15
12:38
создай этот же COM объект в блокноте на VB, думаю проблема не в 1С
8 Sh_Vlad
 
13.01.15
13:05
(7) Если можно - поподробнее...
9 DrZombi
 
гуру
13.01.15
13:13
(8) А точно 2003? Бывает, что обновляются до 2007 и усе :)
10 Rie
 
13.01.15
13:15
(4) Ну так попробуй указать явно "Excel.Application.11"
11 Rie
 
13.01.15
13:18
+(10) И посмотри, на всякий случай, в реестре в CLSID - путь правильный?
12 Sh_Vlad
 
13.01.15
13:23
(11) Там вообще не путь. А {00024500-0000-0000-C000-000000000046}
13 Rie
 
13.01.15
13:28
(12) В  разделе CLSID этот ключ найди и посмотри куда LocalServer (LocalServer32) смотрит.
14 Sh_Vlad
 
13.01.15
13:48
(13) Путь правильный
15 Rie
 
13.01.15
13:49
Пробовал (10)?
16 Sh_Vlad
 
13.01.15
13:49
Да
17 Rie
 
13.01.15
14:15
(8) Создай (в блокноте) файл с расширением .vbs
Вставь туда

set xl = CreateObject("Excel.Application")
xl.Workbooks.Add
xl.Visible = 1

Сохрани и запусти.
Что получилось?
18 Sh_Vlad
 
13.01.15
14:59
(17) Получилось - открылась новая книга Ексель
19 Sh_Vlad
 
13.01.15
15:03
Причем оба варианта - Excel.Application и Excel.Application.11
20 Sh_Vlad
 
13.01.15
15:54
Люди добрые, есть еще варианты причин ошибки?
21 Zamestas
 
13.01.15
15:57
(20) Запустить от администратора пробовал?
22 Sh_Vlad
 
13.01.15
16:01
(21) Что запустить - Предприятие? Вообще-то учетка админская...
23 DrZombi
 
гуру
13.01.15
16:10
(22) Обновись на старый релиз :)
24 Zamestas
 
13.01.15
16:11
(22) Да предприятие, в win7/2008 и старше админские права не означают полные права.
25 Sh_Vlad
 
13.01.15
16:19
Не помогло...
26 ZUM
 
13.01.15
16:31
Здравствуйте!

1) Попробуйте это

При подключении к базе com-объектом вылетает ошибка (файл с ошибкой во вложении, вылетает на строчке кода при создании ком-объекта: Коннектор = Новый COMОбъект("V8.COMConnector");)

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

1. Администрирование - Службы компонентов – Компьютеры – Мой компьютер – Приложения COM+ - Создать приложение – Создать новое приложение – вводим имя «V82.COMConnector»(переключатель «Серверное приложение») – Указанный пользователь (Администратор)

2. В появившейся ветке V82COMConnector – подветка Компоненты – создание нового компонента – Установка новых компонентов - <каталог 1С>\bin\comcntr.dll

3. Правой кнопкой по ветке V82COMConnector – Свойства – Безопасность – Снял галку «Принудительная проверка доступа для приложений» - Поставил галку «Применить политику программных ограничений» - Уровень ограничений «Неограниченный»



2) Если не помогло

Проблема :

1. Не установлен Microsoft Excel

2. Для работы ком-объекта необходимо наличие папки

For Windows 2008 Server x64

  C:\Windows\SysWOW64\config\systemprofile\Desktop

For Windows 2008 Server x86

  C:\Windows\System32\config\systemprofile\Desktop

Источник (https://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64?forum=innovateonoffice)
27 Sh_Vlad
 
13.01.15
16:48
1) Проделал.
2) Папка есть, только вместо Desktop - по русски Рабочий стол

Не помогло...
28 igork1966
 
13.01.15
16:51
(27) а если указать имя сервера в конструкторе?
localhost
29 Rie
 
13.01.15
16:51
(18) То есть, Excel спокойно коннектится.
Наивный вопрос: а откуда коннектится? С клиента или с сервера?
30 Rie
 
13.01.15
16:52
(28) То это будет уже совсем другая история...
31 Sh_Vlad
 
13.01.15
16:59
(29) Клиент предприятия на терминальном сервере. Там же запускал скрипт.
32 Sh_Vlad
 
13.01.15
17:00
Или вопрос не про то?
33 Rie
 
13.01.15
17:03
(32) Про то. Тогда - странно очень.
Может, обработку правили - и буковку не из того алфавита поставили? Или (6)...
34 Sh_Vlad
 
13.01.15
17:05
Работало везде "еще вчера"
Обработку не правили уже полгода (тем более в этой строке). Ексель не переустанавливали, т.к. см. выше
35 yukon
 
13.01.15
17:05
(33)(32) Не про то.

Создание СOM-объекта происходит &НаКлиенте или &НаСервере?
36 Sh_Vlad
 
13.01.15
17:06
&НаСервере
37 Sh_Vlad
 
13.01.15
17:08
Сейчас надо &НаКлиенте?
38 igork1966
 
13.01.15
17:09
(37) дык у тебя на сервере и пытается создать объект
39 Rie
 
13.01.15
17:10
Так он и vbs запускал на сервере-то... И обработка раньше у него работала...
40 yukon
 
13.01.15
17:11
Значит только костылями. Заказчику покажи это:

Вопросы серверной автоматизации Office
https://support.microsoft.com/kb/257757

Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать.
41 yukon
 
13.01.15
17:12
(39) На каком сервере - на терминальном или 1С-ном?
42 Rie
 
13.01.15
17:13
(41) Предполагаешь, что они сервер переставляли? Говорит ведь, что раньше - работало.
43 yukon
 
13.01.15
17:16
(42) 1С-ный по любому переставляли.

Для 8.3 есть еще вариант, что включили в профилях безопасности ограничение на COM-объекты.
44 Sh_Vlad
 
13.01.15
17:28
Так что с 1С-ным сервером не так?
45 yukon
 
13.01.15
17:49
(44) Пока все нормально (глянь на всякий случай профили безопасности).

Терминальный сервер и сервер 1С на одной машине работают?
46 Sh_Vlad
 
14.01.15
08:56
Проблема остается.
(45) На разных.
47 ProxyInspector
 
14.01.15
09:15
Явно автор не раскрыл когда у него перестало работать. Я боюсь, что после пытания паяльником выяснится, что был установлен Windows 2008 x 64 сервер. Установлен сервер 1с предприятия х 64. Обновлена версия 1с предприятия с 8.2 на 8.3. Запуск сервера 1с предприятия раньше запускался от имени System, а сейчас запускается от имени Usr1c8. Раньше 1с работала в режиме толстого клиента, а сейчас на управляемых формах.
И вот после этого НЕОЖИДАННО перестал работать Exell в режиме ОЛЕ.
Я почему-то не очень сильно удивляюсь :)
48 Sh_Vlad
 
14.01.15
09:45
(47) Что нужно изменить в коде чтобы работала конструкция Новый COMОбъект("Excel.Application");
Все указанные изменения имеют место быть. Обработка сделана под управляемые формы
49 Dolphinbet
 
14.01.15
09:51
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.
50 yukon
 
14.01.15
10:07
(46) Вот это "Получилось - открылась новая книга Ексель" делалось на сервере 1С?
51 Sh_Vlad
 
14.01.15
12:04
Помогла переустановка офиса на сервере.
Теперь не хочет открывать шаблон:
Ошибка при вызове метода контекста (Add)
        Ексель.WorkBooks.Add("\\........\Template\Zayvka.xlt");

Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "\...........\Template\Zayvka.xlt". Это может быть вызвано одной из следующих причин.

• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.

Файл существует. Никем не открыт. Имя не с чем не совпадает
52 Sh_Vlad
 
14.01.15
12:04
Доступ полный для всех
53 Sh_Vlad
 
14.01.15
12:22
Скрипт открывает этот файл
54 Dolphinbet
 
14.01.15
12:59
(51) см. 49 :)
55 Dolphinbet
 
14.01.15
13:04
Только в пункте 13. Select "The interactive user." вместо interactive user надо указать конкретного пользователя под котороым запускается сервер 1С-Предприятие.
56 DrZombi
 
гуру
14.01.15
13:07
(47) Обычно такое перестает работать после обновления Форточек.
У нас как то было, при обновлении рабочей станции, т.е. обычного ПК. Но офис там был 2007-ой, обновление на него так подействовало :)
57 Sh_Vlad
 
14.01.15
13:08
По (49) все проделано. "Microsoft Excel Application" такой ветки в настройках нет. В тех что есть стоит "Запускающий пользователь" ("The interactive user"? ).
58 Dolphinbet
 
14.01.15
13:10
(57) так вот надо не "Запускающий пользователь" а тот под которым запускается сервер 1С
59 Sh_Vlad
 
14.01.15
13:27
Сервер запускается системной учетной записью. И куда пихать этого пользователя - нужной ветки нет
60 Dolphinbet
 
14.01.15
13:27
а почему нет "Microsoft Excel Application"??
61 Sh_Vlad
 
14.01.15
13:31
(60) У нас разделение труда. Офис устанавливает другая служба. Не могу сказать. Есть "Office Licensing COM Server 14"
62 hhhh
 
14.01.15
13:34
(59) ну, поменяйте в строке запуска сервера 1с системную запись на другого пользователя. Зачем вы системную туда вбухали? Можно было оставить пользователя, который там по умолчанию был: Usr1cv8
63 Sh_Vlad
 
14.01.15
13:38
(62) Смысл менять в сервере 1с, если его надо прописать в настройках DCOM Екселя - некуда писать...
64 Dolphinbet
 
14.01.15
13:56
(61) похоже из-за этого и не работает, "Microsoft Excel Application" должен быть в ветке "Настройка DCOM"
65 Sh_Vlad
 
14.01.15
14:09
Как его туда запихнуть? Не вручную же...
На других серверах тоже нет. Есть например "Книга Microsoft Office Excel 2007"
66 Dolphinbet
 
14.01.15
14:15
(65) Да, действительно, почему-то в серверных ОС этой ветки нет...
67 Dolphinbet
 
14.01.15
15:01
может по коду приложения поискать {00024500-0000-0000-C000-000000000046} ?
68 Dolphinbet
 
28.01.15
09:31