Excel ошибка загрузки com объекта

Ошибка при вызове конструктора (COMObject) по причине: Интерфейс не поддерживается

Ошибка происходит при попытке загрузить из Excel в 1С, когда код обработчика выполняется не на клиенте, а на сервере и в большинстве случаев текст ошибки говорит об отсутствии прав у пользователя сервера 1С.

Быстрый переход

  • Особенности
  • Устранение:
    • Может оказаться, что  «Microsoft Excel Application» отсутствует в списке, в данном случае
  • Заключение

Особенности

Кодом со стороны 1С без изменения места исполнения не устраняется, использование других функций подключения Com также не дает положительных результатов.

Убедиться в причине ошибки возможно, если посмотреть логи системы.

Устранение:

  • на сервере убиваем excel (taskkill /im excel.exe /f)
  • открываем оснастку «Службы компонентов» (Пуск->Администрирование->Службы компонентов)
  • в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
  • справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем пользователя с администраторскими правами, ОК.

Может оказаться, что  «Microsoft Excel Application» отсутствует в списке, в данном случае

  1. Запускаем REGEDIT
  2. Открываем ветку ComputerHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
  3. Создаем в ней строковый параметр AppID  = {00020812-0000-0000-C000-000000000046}
  4. Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть  32 битные компоненты.
  5. После этого в Component Services должен появиться «Microsoft Excel Application»

Чтобы решить эту проблему, я включил пользователя USRV82, под которым запускается сервер приложений 1С Предприятия 8.3, в группу Distributed COM Users, но ошибка сразу не ушла, потребовалась перезагрузка.

Для правки использовалась оснастка Локальные пользователи и группы (lusrmgr.msc) — это инструмент, предназначенный для управления локальными пользователями и группами.

Локальный пользователь или группа — это учетная запись, которой могут быть предоставлены разрешения и права на вашем компьютере.

Осложняло проблему то, что ошибка плавала: периодически выходила, либо в момент создания объекта, либо уже в момент вызова методов excel-application.

Так что нельзя однозначно сказать, что же решило проблему.

Заключение

В большинстве случаев уйти от дополнительной настройки операционной системы возможно,  если использовать вызова Com-Объекта на клиенте. При правильной установке объектов они работают даже при различных по битности 1с и Excel, OS.

В моем же случае клиентские компьютеры работали на Ubuntu, поэтому вся обработка перенесена на сервер.

Бывает такое: вы прописываете для компонента пользователя и пароль.

Затем через некоторое время меняете пароль и компонент перестает работать: выходит такая же ошибка «Интерфейс не поддерживается». Следует просто вбить новый пароль.

Закон рекламы: родившись, брэнд нуждается в рекламе для своего существования.

  1. 13.11.2018, 09:23

    #31

    Akbar11 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от avm3110
    Посмотреть сообщение

    А сколько есть попыток угадать какую именно библиотеку ставил «2 раза»? Где ставил (на клиенте или на сервере)? под какими правами (пользователя или админа)?

    Да и по синтаксису… У тебя в диагностике:

    Что явно указывает на ошибку — «лишняя запятая». Параметр «Excel.Application» должен быть

    первым :mad:
    правильно:
    ExcelApplication = Новый COMObject(«Excel.Application»);

    Теперь ошибка немного другая

    {ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
    ExcelApplication = Новый COMObject(«Excel.Application»);
    по причине:
    -2147024891(0x80070005): Отказано в доступе.


  2. 13.11.2018, 12:13

    #32

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от Akbar11
    Посмотреть сообщение

    Регистрировал библиотеку на клиенте, под администратором. Той платформы которую запускаю

    Продолжаю занудно. Какую библиотеку регистрируете? Какой командой? У вас база файловая или клиент-сервер?
    Опишите поподробнее — как именно регистрируете «под администратором».


  3. 14.11.2018, 06:04

    #33

    Akbar11 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от avm3110
    Посмотреть сообщение

    Продолжаю занудно. Какую библиотеку регистрируете? Какой командой? У вас база файловая или клиент-сервер?
    Опишите поподробнее — как именно регистрируете «под администратором».

    Регистрация библиотеки командой regsvr32 «C:Program Files1cv88.3.10.2466bincomcntr.dll»
    Клиент — сервер
    Процес, нажимаю вин + Q, пишу командная строка строка, контекстное меню запустить от имени админа, запускаю, Логин + пароль и регистрирую библиотеку


  4. 14.11.2018, 07:05

    #34

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от Akbar11
    Посмотреть сообщение

    Регистрация библиотеки командой regsvr32 «C:Program Files1cv88.3.10.2466bincomcntr.dll»
    Клиент — сервер
    Процес, нажимаю вин + Q, пишу командная строка строка, контекстное меню запустить от имени админа, запускаю, Логин + пароль и регистрирую библиотеку

    Мдя-я-я… все как в анекдоте…
    «Пьяный ходит вокруг фонаря ночью и о чем-то материться. Прохожий хочет помочь и участливо спрашивает в чем дело.
    Да я ключи потерял и уже полчаса не могу найти — следует ответ.
    прохожий оглядывает место под фонарем и удивляется. Да тут же ровный асфальт, сухо и отлично видно что ключей тут нет. Ты уверен что именно тут потерял?
    Да нет.. потерял я в грязной луже, вон там в подворотне. Но там же очень темно искать и очень грязно и очень мокро — поэтому я ищу именно тут».

    Уважаемый… У Вас диагностика «не зарегистрирован класс Excel.Application». Ну и что же вы хотите добиться «упорством достойного лучшего применения» регистрируя библиотеку 1с предприятия???? :mad:


  5. Пользователь сказал cпасибо:


  6. 14.11.2018, 07:10

    #35

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от Akbar11
    Посмотреть сообщение

    Теперь ошибка немного другая
    {ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
    ExcelApplication = Новый COMObject(«Excel.Application»);
    по причине:
    -2147024891(0x80070005): Отказано в доступе.

    А эта ошибка показывает, что пользователю под которым выполняется строка
    ExcelApplication = Новый COMObject(«Excel.Application»);
    нет прав на создание ком-объекта.

    У вас база клиент-серверная или файловая? Для файловой запустите 1с с правами администратора и попробуйте выполнить внешнюю обработку под админом с полными правами и правами администрирования.


  7. 14.11.2018, 08:14

    #36

    Akbar11 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от avm3110
    Посмотреть сообщение

    А эта ошибка показывает, что пользователю под которым выполняется строка
    ExcelApplication = Новый COMObject(«Excel.Application»);
    нет прав на создание ком-объекта.

    У вас база клиент-серверная или файловая? Для файловой запустите 1с с правами администратора и попробуйте выполнить внешнюю обработку под админом с полными правами и правами администрирования.

    В файловой все работает, даже не под админимон


  8. 14.11.2018, 13:33

    #37

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от Akbar11
    Посмотреть сообщение

    В файловой все работает, даже не под админимон

    Поднимите файловую на сервере и там попробуйте.

    Если интерактивно в файловой будет работать, а в запущенном клиенте на сервере в клиент-сервере — нет. нужно смотреть права пользователя под которым работает 1С предприятие. А есть еще ряд настоек которые нужно будет проверять.

    Пришлите вначале результаты этого тестирования


  9. 27.11.2018, 03:06

    #38

    Akbar11 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от avm3110
    Посмотреть сообщение

    Поднимите файловую на сервере и там попробуйте.

    Если интерактивно в файловой будет работать, а в запущенном клиенте на сервере в клиент-сервере — нет. нужно смотреть права пользователя под которым работает 1С предприятие. А есть еще ряд настоек которые нужно будет проверять.

    Пришлите вначале результаты этого тестирования

    Здравствуйте. В файловой на сервере все работает

    Последний раз редактировалось Akbar11; 27.11.2018 в 03:23.


  10. 27.11.2018, 03:26

    #39

    Akbar11 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    На сервере ошибка

    {ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
    ExcelApplication = Новый COMObject(«Excel.Application»);
    по причине:
    -2147467262(0x80004002): Интерфейс не поддерживается


  11. 27.11.2018, 07:59

    #40

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от Akbar11
    Посмотреть сообщение

    В файловой на сервере все работает
    На сервере ошибка

    ну е-е-е-е… еще раз.. выше уже писал… Если на одном и том же компе одна и та же база поднята в файловом режиме, а затем в клиент-серверном (когда и сервер и клиент это один и тот же ком). И при этом на файловом «все работает», а на клиент-сервере подобная ошибка — следовательно проблема в правах под которым работает база.

    При файл серверном — это права пользователя под которым идет запуск базы, а на клиент сервере это права пользователя под которым крутиться сервер 1С предприятия.

    Решение — смотреть и фиксить эти права. Например как описано тут: — http://buh.ruboard.ru/public/196323/


Похожие темы

  1. Ответов: 1

    Последнее сообщение: 08.06.2017, 00:12

  2. Ответов: 9

    Последнее сообщение: 16.04.2014, 12:50

  3. Ответов: 0

    Последнее сообщение: 27.02.2014, 22:04

  4. Ответов: 2

    Последнее сообщение: 12.08.2013, 13:34

  5. Ответов: 1

    Последнее сообщение: 27.06.2013, 19:33

Социальные закладки

Социальные закладки


Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  • BB коды Вкл.
  • Смайлы Вкл.
  • [IMG] код Вкл.
  • [VIDEO] код Вкл.
  • HTML код Выкл.

Правила форума

После обновления платформы 1С на последнюю текущую версию столкнулся с ошибкой в обработке, которая работала еще до сегодняшнего дня.

Сохраненное изображение 2016-3-3_21-37-21.603

Вызов осуществляется на сервере 1С:Предприятия, в управляемом приложении.

Эксель = Новый COMОбъект(«Excel.Application»);

При этом сервер приложения 1С 32х разрядный, хотя и стоит на Windows 64 битной версии.

Если запускать этот же метод на клиентской части, то помогает стандартное действие, выполненное с правами администратора:

Regsvr32 «C:Program Files (x86)1cv8(версия платформы)bincomcntr.dll»

Однако не в этом случае…

Поиск по интернету и «гугление» конечно помогает в большинстве случаев 🙂 однако вариантов было перепробовано несколько и ничего не помогло кроме следующего:

  1. Заходим на сервер приложений 1С под локальным админом
  2. Запускаем DCOMCNFG  (Консоль настроек «Component  Services»)
    1. Открываем ветку Console Root -> Component Services ->  Computers ->  My computer ->  DCOM Config
    2. Ищем «Microsoft Excel Application»
    3. Если нашли, то переходим к пункту 4 (Настраиваем свойства DCOM компонента «Microsoft Excel Application»)
    4. Закрываем «Component  Services»
  3. Настройка реестра
    1. Запускаем REGEDIT
    2. Открываем ветку ComputerHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
    3. Создаем в ней строковый параметр AppID  = {00020812-0000-0000-C000-000000000046}
    4. Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть  32 битные компоненты.
    5. После этого в Component Services должен появиться «Microsoft Excel Application»
  4. Настраиваем свойства DCOM компонента «Microsoft Excel Application»
    1. Закладка «Security»
      1. «Launch and Activation Permissions» — Customize — Edit
        1. Добавляем пользователя, под которым запускается  агент сервера 1С
        2. Назначем ему только следующие права  (allow):
          1. Local Launch
          2. Local Activation
      2. «Access  Permissions» — Customize — Edit
        1. Добавляем пользователя, под которым запускается  агент сервера 1С
        2. Назначаем ему только следующие права  (allow):
          1. Local Access
    2. Закладка «Identity»
      1. Должно быть выбрано «The launching user»
  5. Системные папки
    1. Папка «C:WindowsSysWOW64configsystemprofileDesktop»
      1. Проверяем наличие папки , если нет -то создаем.
      2. Заходим в свойства этой папки.
      3. Закладка Security
      4. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
      5. Добавляем право «Read» и «Write»
    2. Папка «C:WindowsSystem32configsystemprofileDesktop»
      1. Проверяем наличие папки , если нет -то создаем.
      2. Заходим в свойства этой папки.
      3. Закладка Security
      4. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
      5. Добавляем право «Read» и «Write»

Источник информации © Инфостарт.

Содержание:

1. Почему может возникнуть ошибка при вызове конструктора (COM-объект 1С)?

2. С помощью чего можно исправить ошибку при вызове конструктора (COM-объект 1С)?

3. Параметры при вызове конструктора (COM-объект 1С), которые регистрируют компоненты строки кода перед регистрируемым dll-файлом    

1.      Почему может возникнуть ошибка при вызове конструктора (COM-объект 1С)?

Когда ты начинающий специалист 1С, то иногда приходится чувствовать себя шаманом с бубном, так как не знаешь причин ошибки и как её исправить тоже.

Сегодня мы разберем одну из ошибок, которые появляются при работе с базой, а именно ошибку при вызове конструктора (COM-объект 1С).

Ситуацию такую, мы можем наблюдать при загрузке с Excel при использовании (COM-объекта 1С), при обмене между базами. Ситуаций, когда возникает данное сообщение с возникшей проблемой довольно много при работе с программой.

Как правило, данная ошибка возникает из-за того, что при установке платформы1С не произошла автоматическая регистрация 64-х разрядной компоненты, которая отвечает за использование COM-соединения 1С 8.3. А почему это произошло, спросите? Все очень просто и в то же время сложно, если не знаешь, в чем все ядро проблемы. А причина в том, что те, у кого выдаются такие ошибки, используют 32(86) – разрядную операционную систему и ставят вместо платформы необходимой разрядности их системы, платформу 1С предназначенную для совсем другой системы.   

2. С помощью чего можно исправить ошибку при вызове конструктора (COM-объект 1С)?

Исправить данную ошибку, довольно легко. Для этого необходимо всего лишь зарегистрировать библиотеку dll в реестре при помощи командной строки или программы PowerShell, в зависимости от того, что любите использовать, и команды regsvr32.

Для того чтобы выполнить команду, достаточно будет в строке написать такой текст команды «regsvr32 «C:Program Files1cv88.3.ХХ.ХХХХbincomcntr.dll»». Вместо «ХХ.ХХХХ» необходимо указать необходимый релиз платформы, библиотеку которой, необходимо зарегистрировать в реестре системы.

Если все выполнено правильно и регистрация произошла успешно, то должно выдать сообщение, как на скриншоте, об успешной регистрации библиотеки.

Администратор: Командная строка   

3. Параметры при вызове конструктора (COM-объект 1С), которые регистрируют компоненты строки кода перед регистрируемым dll-файлом

Также есть некоторые особенности команды, которая регистрирует компоненты.

На данный момент я знаю только 4 параметра (которые при написании строки кода указываются перед регистрируемым dll-файлом):

·        /u — параметр, отменяет регистрацию

·        /i — параметр, который позволяет при необходимости, в зависимости от библиотеки.

·        /n —параметр используется только для установки компоненты 1С, в основном пишется вместе с предыдущим (/I);

·        /s – возможность отключить все сообщения при регистрации;

Существует, также, один немаловажный момент, что в зависимости от версии командной строки, иногда приходится прописывать путь к самой утилите.

Кстати, существуют специальные программы-инструменты, которые помогают регистрировать компоненты, без знания команд и утилит администрирования, зарегистрировать библиотеку и продолжить работать дальше.

Таких программ достаточно много и писать, какое-то одно название смысла нет.

Для того чтобы быстро и качественно решать такие проблемы, необходимо изучать разнообразные статьи, для повышения уровня знаний и квалификации.

Специалист компании «Кодерлайн»

Олег Мороз

  

val245

03.04.18 — 20:24

Здравствуйте

Стоит УТ 11. Клиент-серверный вариант. Загружаю данные из Excel. При попытке открыть файл конструктором

Ex=Новый ComОбъект(«Excel.Application»);

Work = Ex.workbooks.Open(СокрЛП(ПутьКФайлу));

Входит ошибка

{Обработка.ЗагрузкаНоменклатурыИзЭкзель.Форма.Форма.Форма(25)}: Ошибка при вызове конструктора (ComОбъект): -2147467262(0x80004002): No such interface supported

Обработку разрабатывал в фаловом варианте. В файловом варианте обработка проходит нормально. Excel на сервере установлен.

Кто знает, почему файл не хочет читаться в клиент-серверном варианте?

  

shuhard

1 — 03.04.18 — 20:27

(0)[Кто знает, почему] Все знают
100500 раз писалось про пути и учетные записи

  

Darych

2 — 03.04.18 — 20:28

права

  

val245

3 — 03.04.18 — 20:32

права в 1с или права учетных записей Windows?

  

Darych

4 — 03.04.18 — 20:32

вин

  

MaxS

5 — 03.04.18 — 20:33

Открывайте 1С-ом через Файл-Открыть

  

val245

6 — 03.04.18 — 20:34

(1) Ну я пока с такой проблемой не сталкивался

  

shuhard

7 — 03.04.18 — 20:34

(3) права учетной записи, от которой крутиться rphost

+ ну и конечно для загрузки из xls ставить на сервер эксель плохое решение, пару раз зависнет и сожрёт всю память

  

Cool_Profi

8 — 03.04.18 — 20:35

(7) Твой вариант решения?

  

tesseract

9 — 03.04.18 — 20:35

Почему просто в ТД не читать? Зачем Excel дергать?

  

val245

10 — 03.04.18 — 20:37

(5) Открывать 1С-ом что? обработку или Excel? Экзель открывается, правда, конечно, не читабельно..

  

Darych

11 — 03.04.18 — 20:37

(9) не всегда в ТД получается

  

val245

12 — 03.04.18 — 20:38

(9) ТД — это что?

  

piter3

13 — 03.04.18 — 20:38

Взять типовую загрузку из йокселя,загрузить,закрыть,забыть.

  

val245

14 — 03.04.18 — 20:38

табличный документ?

  

val245

15 — 03.04.18 — 20:39

ну так у пользователей данные в экзеле.. приходится загружать из экзель

  

tesseract

16 — 03.04.18 — 20:39

(14) Да он давно и Excel и ods нормально грузит.

  

piter3

17 — 03.04.18 — 20:39

  

shuhard

18 — 03.04.18 — 20:39

(8) adodb однозначно

  

shuhard

19 — 03.04.18 — 20:40

(16) многостраничные стал грузить совсем не давно

  

Darych

20 — 03.04.18 — 20:41

(18) а у него думаешь не адо?

  

Cool_Profi

21 — 03.04.18 — 20:41

(18) И тут мы вам покажем, как вы думаете, что?

Правильно… Вот эту ссылку

https://www.forum.mista.ru/topic.php?id=815766

  

shuhard

22 — 03.04.18 — 20:42

(20) ты это о  чем ?

ComОбъект(«Excel.Application»);

  

shuhard

23 — 03.04.18 — 20:43

(21) ты неудачник и что ?

  

Cool_Profi

24 — 03.04.18 — 20:44

(23) А с какого перепою я неудачник? Можешь обосновать внятно?

Или у тебя перепой?

  

shuhard

25 — 03.04.18 — 20:47

(24) хвостик отрасти для объяснений

  

val245

26 — 03.04.18 — 20:48

а с чем эта ошибка связана? почему в файловом варианте читает, а в клиент-серверном читать не хочет?

  

shuhard

27 — 03.04.18 — 20:49

(26) пипец

ты чё, ответы не читаешь ?

  

ДенисЧ

28 — 03.04.18 — 20:49

(25) Так лучше видно?

  

tesseract

29 — 03.04.18 — 20:52

(26) Сервер и клиент находятся в разных местах. Если на одном — у них разные пользователи. См НачатьПомещениеФайла для начала.

  

shuhard

30 — 03.04.18 — 20:53

(28) =)

  

Darych

31 — 03.04.18 — 20:54

все ж написано: «No such interface supported

«

  

val245

32 — 03.04.18 — 20:55

сейчас пользователи подключаются через rdp. Все действия происходят на сервере..

  

shuhard

33 — 03.04.18 — 20:57

  

val245

34 — 03.04.18 — 21:01

ок. спасибо. Будем разбираться…

Вопрос При работе с Excel из 1С возникает сообщение: «Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается». Что делать?
Ответ
Подробнее:

При использовании:

Excel = Новый COMОбъект("Excel.Application");
WB = Excel.Workbooks.Open(ИмяФайла);

Выдает ошибку – Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается.

Или другой метод:

Объект = ПолучитьCOMОбъект(ИмяФайла);

— сообщение: «Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: Класс не зарегистрирован»
или

Объект = ПолучитьCOMОбъект(ИмяФайла, "Excel.Application");

— сообщение: «Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: Сервер RPC недоступен»

Причин всех этих ошибок может быть несколько. 

У службы «Запуск серверных процессов DCOM» тип запуска должен быть «Авто».

Кроме того, если  служба «Агент сервера 1С:Предприятия 8.2» запускается от имени специального пользователя, то у него должны быть права на запуск компоненты «Приложение Microsoft Excel»

Служба «Агент сервера 1С:Предприятия 8.2» не должна запускаться от имени пользователя с ограниченными правами, у него должны быть права на запуск компоненты «Приложение Microsoft Excel».

Другая возможная причина: 1С предприятие установлено в 64-битном варианте, а Excel — в 32-битном. Может помочь установка 1С в 32-битном варианте (это может быть проще, чем найти 64-битный Excel)

У службы «Запуск серверных процессов DCOM» тип запуска необходимо установить в «Авто». После чего желательно перезагрузить компьютер.

Ну и как вариант, быть может поврежден установленный пакет MS Office. Необходимо попробовать переустановить его.

Next Post

  • v8

  • Программисту 1C

Пт Май 14 , 2010

Вопрос Как в запросе использовать «СокрЛП», «Лев», «Прав», т.е. как отсечь нужное количество символов? Ответ Использовать конструкцию «ВЫРАЗИТЬ»: … ГДЕ (ВЫРАЗИТЬ(усЕдиницыХранения.Владелец.Наименование КАК СТРОКА(4))) «Груз» |ГДЕ | (ВЫРАЗИТЬ(усЕдиницыХранения.Владелец.Наименование КАК СТРОКА(4))) &Груз … Запрос.УстановитьПараметр(«Груз»,»Груз»);

Breaking News

В этой статье речь пойдет об ошибках в COM-соединениях. Один из вариантов ошибки –
это «Ошибка при вызове конструктора (COMObject):
-2147221164(0x80040154): Класс не зарегистрирован…»
. Бывают и другие варианты
сообщений, все я перечислять не буду, в большинстве случаев — это означает, что
при установке платформы компонента comcntr.dll не смогла зарегистрироваться
автоматически.
COM — соединения используются в обменах между конфигурациями.

У меня в готовых решениях есть обработка
загрузки сотрудников из ЗУП, в которой тоже используется
COM — соединение и у
пользователей тоже может появиться ошибка. В случае с моей обработкой, при
проверке соединения, может появиться сообщение, что невозможно установить
соединение с конфигурацией ЗУП.  Это
может произойти, если Вы неправильно указали настройки подключения, неправильно
настроены права пользователя, через которого Вы подключаетесь или чаще всего – проблема
в компоненте comcntr.dll, которая при смене платформы автоматически не
зарегистрировалась. Вот и рассмотрим, как ее зарегистрировать вручную.

Первое что нужно сделать, это запустить
командную строку от имени администратора.

В командной строке Windows набираете cmd, в
писке выбора появится программа с таким названием, устанавливаете курсор на эту
программу и выбираете из контекстного меню «Запуск под администратором» (см.
картинку ниже).

Запуск командной строки от имени администратора

Затем ввести команду (можно двумя способами):

1.     
regsvr32
«C:Program Files (x86)1cv8[
версия платформы]bincomcntr.dll»

2.     
C:Program
Files (x86)1cv8[
версия платформы]bin>regsvr32 comcntr.dll

Прежде чем ввести эти команды нужно
переместиться по каталогам. Допустим, при запуске командной строки появляется
совсем другой каталог, пример можно увидеть на картинке ниже.

командная строка

Для смены каталога нужно написать cd, после которого установить пробел, а
затем указать тот путь, который нам нужен, например
C:Program Files (x86)1cv8[версия платформы]bin, затем после указания пути к каталогу нажимаете Enter. Смотрите пример смены каталога на
картинке ниже.

смена каталога в cmd

Вот теперь
рядом с каталогом можно ввести
regsvr32 comcntr.dll, нажать Enter и
зарегистрировать компоненту (смотрите пример на картинке ниже).

запуск regsvr3

Если все
сделали правильно, то получите сообщение (см. картинку ниже).

успешное выполнение регистрации компоненты comcntr.dll

Если компоненту не удалось
зарегистрировать, проверьте как вы запустили командную строку, возможно, что
забыли запустить от имени администратора. Если все в порядке, то нужно отключить
службу агента сервера 1С:Предприятия и все программы, использующие эту DLL. 

После сообщения об успешной регистрации,
можно вновь запустить обмен или обработку, с которой у вас возникли проблемы.  

Здравствуйте. Подскажите, никто не сталкивался с такой проблемой?
Если запускать этот код из внешней обработки , то всё нормально, но как только я разместил код в общий модуль (сервер, привилегированный, вызов сервера) и подцепил рег. задание, то вылетает ошибка:

{ОбщийМодуль.DC_СлужебныйПривелегированный.Модуль(9873)}: Ошибка при вызове конструктора (COMОбъект)
        ExcelApp = Новый COMОбъект("Excel.Application");
по причине:
-2147024891(0x80070005): Отказано в доступе. 

Решение:
1. Администрирование - Службы компонентов – Компьютеры – Мой компьютер – Приложения COM+ - Создать приложение – Создать новое приложение – вводим имя «V82.COMConnector»(переключатель «Серверное приложение») – Указанный пользователь (Администратор)
2. В появившейся ветке V82COMConnector – подветка Компоненты – создание нового компонента – Установка новых компонентов - <каталог 1С>bincomcntr.dll
3. Правой кнопкой по ветке V82COMConnector – Свойства – Безопасность – Снял галку «Принудительная проверка доступа для приложений» - Поставил галку «Применить политику программных ограничений» - Уровень ограничений «Неограниченный»

Проблема была именно с разрядностью.

The error may say it can’t load a DLL but if you are trying to load Excel that is where the problem is. It can’t find «EXCEL.EXE» using the registry.

For some people, doing a simple Office repair from AddRemove programs: Modify is enough to fix the problem.

If you have already tried an Office repair then you can fix it manually by editing the registry.

Open Regedit as admin and go to:

ComputerHKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}

This is the location that shows where Excel is installed. At this point if you see multiple versions, «1.9», «1.8», «1.7» then you need to remove the extra entries. For example Excel 2019 is «1.9» so you would remove other versions no longer installed.

Once you have only one version you also need to check the bitness. I had moved from 32-bit to 64-bit but both keys were still present

ComputerHKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9Win32
ComputerHKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9Win64

I removed the Win32 key and everything began working again. Inside these keys the default value shows the full path to «EXCEL.EXE». Ensure that path is correct.

   Sh_Vlad

13.01.15 — 12:18

Здравстуйте.

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

Ексель = Новый COMОбъект(«Excel.Application»);

по причине:

-2147221005(0x800401F3): Недопустимая строка с указанием класса

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

Спасибо.

   mikecool

1 — 13.01.15 — 12:20

не установлен эксель, смотреть в программы и компоненты

   Sh_Vlad

2 — 13.01.15 — 12:20

(1) Установлен. 2003

   Feunoir

3 — 13.01.15 — 12:25

Проверить наличие HKEY_CLASSES_ROOTExcel.Application в реестре.

   Sh_Vlad

4 — 13.01.15 — 12:33

(3) Наличиствует. + HKEY_CLASSES_ROOTExcel.Application.11

   Sh_Vlad

5 — 13.01.15 — 12:34

Работало до недавнего времени. Года три обработке

   Leksus

6 — 13.01.15 — 12:35

В релизе 8.3.5.1400 кажется что-то исправляли с подключением ком

   senior

7 — 13.01.15 — 12:38

создай этот же COM объект в блокноте на VB, думаю проблема не в 1С

   Sh_Vlad

8 — 13.01.15 — 13:05

(7) Если можно — поподробнее…

   DrZombi

9 — 13.01.15 — 13:13

(8) А точно 2003? Бывает, что обновляются до 2007 и усе :)

   Rie

10 — 13.01.15 — 13:15

(4) Ну так попробуй указать явно «Excel.Application.11»

   Rie

11 — 13.01.15 — 13:18

+(10) И посмотри, на всякий случай, в реестре в CLSID — путь правильный?

   Sh_Vlad

12 — 13.01.15 — 13:23

(11) Там вообще не путь. А {00024500-0000-0000-C000-000000000046}

   Rie

13 — 13.01.15 — 13:28

(12) В  разделе CLSID этот ключ найди и посмотри куда LocalServer (LocalServer32) смотрит.

   Sh_Vlad

14 — 13.01.15 — 13:48

(13) Путь правильный

   Rie

15 — 13.01.15 — 13:49

Пробовал (10)?

   Sh_Vlad

16 — 13.01.15 — 13:49

Да

   Rie

17 — 13.01.15 — 14:15

(8) Создай (в блокноте) файл с расширением .vbs

Вставь туда

set xl = CreateObject(«Excel.Application»)

xl.Workbooks.Add

xl.Visible = 1

Сохрани и запусти.

Что получилось?

   Sh_Vlad

18 — 13.01.15 — 14:59

(17) Получилось — открылась новая книга Ексель

   Sh_Vlad

19 — 13.01.15 — 15:03

Причем оба варианта — Excel.Application и Excel.Application.11

   Sh_Vlad

20 — 13.01.15 — 15:54

Люди добрые, есть еще варианты причин ошибки?

   Zamestas

21 — 13.01.15 — 15:57

(20) Запустить от администратора пробовал?

   Sh_Vlad

22 — 13.01.15 — 16:01

(21) Что запустить — Предприятие? Вообще-то учетка админская…

   DrZombi

23 — 13.01.15 — 16:10

(22) Обновись на старый релиз :)

   Zamestas

24 — 13.01.15 — 16:11

(22) Да предприятие, в win7/2008 и старше админские права не означают полные права.

   Sh_Vlad

25 — 13.01.15 — 16:19

Не помогло…

   ZUM

26 — 13.01.15 — 16:31

Здравствуйте!

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

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

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

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

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

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

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

Проблема :

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

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

For Windows 2008 Server x64

  C:WindowsSysWOW64configsystemprofileDesktop

For Windows 2008 Server x86

  C:WindowsSystem32configsystemprofileDesktop

Источник (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)

   Sh_Vlad

27 — 13.01.15 — 16:48

1) Проделал.

2) Папка есть, только вместо Desktop — по русски Рабочий стол

Не помогло…

   igork1966

28 — 13.01.15 — 16:51

(27) а если указать имя сервера в конструкторе?

localhost

   Rie

29 — 13.01.15 — 16:51

(18) То есть, Excel спокойно коннектится.

Наивный вопрос: а откуда коннектится? С клиента или с сервера?

   Rie

30 — 13.01.15 — 16:52

(28) То это будет уже совсем другая история…

   Sh_Vlad

31 — 13.01.15 — 16:59

(29) Клиент предприятия на терминальном сервере. Там же запускал скрипт.

   Sh_Vlad

32 — 13.01.15 — 17:00

Или вопрос не про то?

   Rie

33 — 13.01.15 — 17:03

(32) Про то. Тогда — странно очень.

Может, обработку правили — и буковку не из того алфавита поставили? Или (6)…

   Sh_Vlad

34 — 13.01.15 — 17:05

Работало везде «еще вчера»

Обработку не правили уже полгода (тем более в этой строке). Ексель не переустанавливали, т.к. см. выше

   yukon

35 — 13.01.15 — 17:05

(33)(32) Не про то.

Создание СOM-объекта происходит &НаКлиенте или &НаСервере?

   Sh_Vlad

36 — 13.01.15 — 17:06

&НаСервере

   Sh_Vlad

37 — 13.01.15 — 17:08

Сейчас надо &НаКлиенте?

   igork1966

38 — 13.01.15 — 17:09

(37) дык у тебя на сервере и пытается создать объект

   Rie

39 — 13.01.15 — 17:10

Так он и vbs запускал на сервере-то… И обработка раньше у него работала…

   yukon

40 — 13.01.15 — 17:11

Значит только костылями. Заказчику покажи это:

Вопросы серверной автоматизации Office

https://support.microsoft.com/kb/257757

Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать.

   yukon

41 — 13.01.15 — 17:12

(39) На каком сервере — на терминальном или 1С-ном?

   Rie

42 — 13.01.15 — 17:13

(41) Предполагаешь, что они сервер переставляли? Говорит ведь, что раньше — работало.

   yukon

43 — 13.01.15 — 17:16

(42) 1С-ный по любому переставляли.

Для 8.3 есть еще вариант, что включили в профилях безопасности ограничение на COM-объекты.

   Sh_Vlad

44 — 13.01.15 — 17:28

Так что с 1С-ным сервером не так?

   yukon

45 — 13.01.15 — 17:49

(44) Пока все нормально (глянь на всякий случай профили безопасности).

Терминальный сервер и сервер 1С на одной машине работают?

   Sh_Vlad

46 — 14.01.15 — 08:56

Проблема остается.

(45) На разных.

   ProxyInspector

47 — 14.01.15 — 09:15

Явно автор не раскрыл когда у него перестало работать. Я боюсь, что после пытания паяльником выяснится, что был установлен Windows 2008 x 64 сервер. Установлен сервер 1с предприятия х 64. Обновлена версия 1с предприятия с 8.2 на 8.3. Запуск сервера 1с предприятия раньше запускался от имени System, а сейчас запускается от имени Usr1c8. Раньше 1с работала в режиме толстого клиента, а сейчас на управляемых формах.

И вот после этого НЕОЖИДАННО перестал работать Exell в режиме ОЛЕ.

Я почему-то не очень сильно удивляюсь :)

   Sh_Vlad

48 — 14.01.15 — 09:45

(47) Что нужно изменить в коде чтобы работала конструкция Новый COMОбъект(«Excel.Application»);

Все указанные изменения имеют место быть. Обработка сделана под управляемые формы

   Dolphinbet

49 — 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.

   yukon

50 — 14.01.15 — 10:07

(46) Вот это «Получилось — открылась новая книга Ексель» делалось на сервере 1С?

   Sh_Vlad

51 — 14.01.15 — 12:04

Помогла переустановка офиса на сервере.

Теперь не хочет открывать шаблон:

Ошибка при вызове метода контекста (Add)

        Ексель.WorkBooks.Add(«\……..TemplateZayvka.xlt»);

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

• Указан несуществующий файл или путь.

• Файл используется другой программой.

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

Файл существует. Никем не открыт. Имя не с чем не совпадает

   Sh_Vlad

52 — 14.01.15 — 12:04

Доступ полный для всех

   Sh_Vlad

53 — 14.01.15 — 12:22

Скрипт открывает этот файл

   Dolphinbet

54 — 14.01.15 — 12:59

(51) см. 49 :)

   Dolphinbet

55 — 14.01.15 — 13:04

Только в пункте 13. Select «The interactive user.» вместо interactive user надо указать конкретного пользователя под котороым запускается сервер 1С-Предприятие.

   DrZombi

56 — 14.01.15 — 13:07

(47) Обычно такое перестает работать после обновления Форточек.

У нас как то было, при обновлении рабочей станции, т.е. обычного ПК. Но офис там был 2007-ой, обновление на него так подействовало :)

   Sh_Vlad

57 — 14.01.15 — 13:08

По (49) все проделано. «Microsoft Excel Application» такой ветки в настройках нет. В тех что есть стоит «Запускающий пользователь» («The interactive user»? ).

   Dolphinbet

58 — 14.01.15 — 13:10

(57) так вот надо не «Запускающий пользователь» а тот под которым запускается сервер 1С

   Sh_Vlad

59 — 14.01.15 — 13:27

Сервер запускается системной учетной записью. И куда пихать этого пользователя — нужной ветки нет

   Dolphinbet

60 — 14.01.15 — 13:27

а почему нет «Microsoft Excel Application»??

   Sh_Vlad

61 — 14.01.15 — 13:31

(60) У нас разделение труда. Офис устанавливает другая служба. Не могу сказать. Есть «Office Licensing COM Server 14»

   hhhh

62 — 14.01.15 — 13:34

(59) ну, поменяйте в строке запуска сервера 1с системную запись на другого пользователя. Зачем вы системную туда вбухали? Можно было оставить пользователя, который там по умолчанию был: Usr1cv8

   Sh_Vlad

63 — 14.01.15 — 13:38

(62) Смысл менять в сервере 1с, если его надо прописать в настройках DCOM Екселя — некуда писать…

   Dolphinbet

64 — 14.01.15 — 13:56

(61) похоже из-за этого и не работает, «Microsoft Excel Application» должен быть в ветке «Настройка DCOM»

   Sh_Vlad

65 — 14.01.15 — 14:09

Как его туда запихнуть? Не вручную же…

На других серверах тоже нет. Есть например «Книга Microsoft Office Excel 2007»

   Dolphinbet

66 — 14.01.15 — 14:15

(65) Да, действительно, почему-то в серверных ОС этой ветки нет…

   Dolphinbet

67 — 14.01.15 — 15:01

может по коду приложения поискать {00024500-0000-0000-C000-000000000046} ?

  

Dolphinbet

68 — 28.01.15 — 09:31

Ошибка при вызове конструктора (COMObject) по причине: Интерфейс не поддерживается

Ошибка происходит при попытке загрузить из Excel в 1С, когда код обработчика выполняется не на клиенте, а на сервере и в большинстве случаев текст ошибки говорит об отсутствии прав у пользователя сервера 1С.

Быстрый переход

  • Особенности
  • Устранение:
    • Может оказаться, что  «Microsoft Excel Application» отсутствует в списке, в данном случае
  • Заключение

Особенности

Кодом со стороны 1С без изменения места исполнения не устраняется, использование других функций подключения Com также не дает положительных результатов.

Убедиться в причине ошибки возможно, если посмотреть логи системы.

Устранение:

  • на сервере убиваем excel (taskkill /im excel.exe /f)
  • открываем оснастку «Службы компонентов» (Пуск->Администрирование->Службы компонентов)
  • в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
  • справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем пользователя с администраторскими правами, ОК.

Может оказаться, что  «Microsoft Excel Application» отсутствует в списке, в данном случае

  1. Запускаем REGEDIT
  2. Открываем ветку ComputerHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
  3. Создаем в ней строковый параметр AppID  = {00020812-0000-0000-C000-000000000046}
  4. Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть  32 битные компоненты.
  5. После этого в Component Services должен появиться «Microsoft Excel Application»

Чтобы решить эту проблему, я включил пользователя USRV82, под которым запускается сервер приложений 1С Предприятия 8.3, в группу Distributed COM Users, но ошибка сразу не ушла, потребовалась перезагрузка.

Для правки использовалась оснастка Локальные пользователи и группы (lusrmgr.msc) — это инструмент, предназначенный для управления локальными пользователями и группами.

Локальный пользователь или группа — это учетная запись, которой могут быть предоставлены разрешения и права на вашем компьютере.

Осложняло проблему то, что ошибка плавала: периодически выходила, либо в момент создания объекта, либо уже в момент вызова методов excel-application.

Так что нельзя однозначно сказать, что же решило проблему.

Заключение

В большинстве случаев уйти от дополнительной настройки операционной системы возможно,  если использовать вызова Com-Объекта на клиенте. При правильной установке объектов они работают даже при различных по битности 1с и Excel, OS.

В моем же случае клиентские компьютеры работали на Ubuntu, поэтому вся обработка перенесена на сервер.

Бывает такое: вы прописываете для компонента пользователя и пароль.

Затем через некоторое время меняете пароль и компонент перестает работать: выходит такая же ошибка «Интерфейс не поддерживается». Следует просто вбить новый пароль.

Только не говорите, пожалуйста, моей матери, что я работаю в рекламном агентстве. Она думает, что я служу тапером в борделе.

Студворк — интернет-сервис помощи студентам

Добрый день господа программисты. Ломаю 2 недели голову как починить данный механизм.

Есть функция для работы с Excel

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
        public void openfiles2()
        {
            OpenFileDialog openFiles = new OpenFileDialog();
            openFiles.DefaultExt = "*.xls;*.xlsx";
            openFiles.Filter = "Excel 2003(*.xls)|*.xls|Excel 2007(*.xlsx)|*.xlsx";
            openFiles.Title = "Выберите документ для загрузки данных";
            ExcelObj.Application app = new ExcelObj.Application();
            ExcelObj.Workbook workbook;
            ExcelObj.Worksheet NwSheet;
            ExcelObj.Range ShtRange;
            DataTable dt = new DataTable();
            if (openFiles.ShowDialog() == DialogResult.OK)
            {
                label1.Text = openFiles.FileName;
 
                workbook = app.Workbooks.Open(openFiles.FileName, Missing.Value,
                Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                Missing.Value);
 
                NwSheet = (ExcelObj.Worksheet)workbook.Sheets.get_Item(1);
                ShtRange = NwSheet.UsedRange;
                for (int Cnum = 1; Cnum <= ShtRange.Columns.Count; Cnum++)
                {
                    dt.Columns.Add(
                       new DataColumn((ShtRange.Cells[1, Cnum] as ExcelObj.Range).Value2.ToString()));
                }
                dt.AcceptChanges();
 
                string[] columnNames = new String[dt.Columns.Count];
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    columnNames[0] = dt.Columns[i].ColumnName;
                }
 
                for (int Rnum = 2; Rnum <= ShtRange.Rows.Count; Rnum++)
                {
                    DataRow dr = dt.NewRow();
                    for (int Cnum = 1; Cnum <= ShtRange.Columns.Count; Cnum++)
                    {
                        if ((ShtRange.Cells[Rnum, Cnum] as ExcelObj.Range).Value2 != null)
                        {
                            dr[Cnum - 1] =
                (ShtRange.Cells[Rnum, Cnum] as ExcelObj.Range).Value2.ToString();
                        }
                    }
                    dt.Rows.Add(dr);
                    dt.AcceptChanges();
                }
 
                dataGridView1.DataSource = dt;
                app.Quit();
            }
            else
                Application.Exit();
        }

Но при выборе файла выходит такая ошибка

Невозможно привести COM-объект типа «Microsoft.Office.Interop.Excel.ApplicationClass» к интерфейсному типу «Microsoft.Office.Interop.Excel._Application». Операция завершилась со сбоем, поскольку вызов QueryInterface COM-компонента для интерфейса с IID «{000208D5-0000-0000-C000-000000000046}» возвратил следующую ошибку: Ошибка при загрузке библиотеки. (Исключение из HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).

До смены компа было все гуд (Win7 x64, studio 2012, office 2013).
После смены началась вот такая вот ошибка, на других ПК работат все отлично (win10, studio 2012, office 2010)

Читал на форумах что переустановка office может помочь решить проблему….перешел с 2013 на 2010 ноль…все точно также.

Буду благодарен за помощь.

Добавлено через 4 минуты
сделал отладку программы, ссылается на

В среде выполнения обнаружена критическая ошибка. Ошибка произошла по адресу 0x54e2fa52 в потоке 0xefc. Код ошибки 0xc0000005. Она может быть вызвана ошибкой в CLR или в небезопасных либо не поддающихся проверке фрагментах пользовательского кода. Обычно источниками таких ошибок бывают ошибки упаковки, допускаемые пользователями при COM-взаимодействии, либо PInvoke, повредивший стек.

Строчка где происходит остановка программы

C#
1
2
3
4
5
6
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1()); ///////тут происходит остановка программы.
        }

Понравилась статья? Поделить с друзьями:
  • Excel ошибка run time 1004 method
  • Excel ошибка compile error in hidden module excel
  • Excel ошибка 502 в ячейке
  • Excel vba ошибка application defined or object defined error
  • Excel vba не выдавать ошибку