|
БП 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
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |