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