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