Ошибка «Невозможно вставить объект» при добавлении элемента управления ActiveX, такого как Microsoft DataGrid на лист Excel

Один из пользователей нашего элемента управления сетью iGrid ActiveX должен вставить его непосредственно в лист MS Excel, но им это не удалось – ошибка «Невозможно вставить объект» генерируется все время. Мы также можем воспроизвести эту проблему на нашем тестовом ПК под 64-разрядными 64-битными и 32-разрядными версиями Microsoft Office 2010.

Этот COM-контроль правильно зарегистрирован в ОС и может быть добавлен в VBA UserForms и другие приложения, но мы не можем сделать это для листов Excel. Похоже, это распространенная проблема для ActiveX – даже для устаревших, таких как Microsoft DataGrid Control 6.0. После поиска решения в течение значительного времени мы пришли к выводу, что это параметр безопасности в MS Office. Таким образом, вопрос можно сформулировать следующим образом: Как включить использование определенных элементов ActiveX в MS Office?

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

Прежде всего, Microsoft заявляет, что

Не все элементы управления ActiveX могут использоваться непосредственно на листах; некоторые могут использоваться только в пользовательских формах Microsoft Visual Basic для приложений (VBA). Когда вы работаете с этими элементами управления, Excel отображает сообщение Не удается вставить объект, если вы попытаетесь добавить их на рабочий лист.

Кто-нибудь знает, какие недостающие функции могут препятствовать введению элемента ActiveX в листы Excel?

Во-вторых, существует известная проблема с файлами EXD, используемыми для кэширования элементов управления ActiveX. Но мы проверили – это не наш случай.

В-третьих, есть две технические статьи Microsoft, в которых объясняется, как «исправлять» некоторые проблемы безопасности ActiveX для ActiveX с использованием реестра:

PRB: сообщение об ошибке «Невозможно вставить объект» в Excel
http://support.microsoft.com/default.aspx?scid=kb;EN-US;171280

Невозможно вставить определенные элементы управления ActiveX для сценариев в документы Office 2013
http://support.microsoft.com/kb/2793374

Похоже, это тоже не помогает – или мы просто что-то сделали не так.

И последнее, что мы попробовали – Центр управления Office. Разрешить использование всех ActiveX без каких-либо ограничений и добавление папки с нашим iGrid ActiveX в список надежного расположения не помогло.

От Technet Forum

Закрыть Excel.

Запустите проводник Windows.

Выберите системный диск (обычно C 🙂

Используйте поле поиска для поиска * .exd

Удалите все найденные файлы.

Запустите Excel еще раз.

У нас была аналогичная проблема в прошлом с элементом управления ActiveX, который мы вставляем на листе Excel из нашей надстройки COM, и вы, похоже, затронули два элемента (ниже), чтобы решить проблему. Ниже решается проблема большинства * времени.

Из Excel 2010: лента файла; Опции; Центр доверия; Настройки центра доверия (кнопка) …;

  • Надстройки: UNCHECK «Требовать надстройки надстройки, которые должны быть подписаны доверенным издателем».
  • Параметры макроса: убедитесь, что он не отключает все макросы без уведомления. Это нормально, если для него установлено значение «Отключить все макросы с уведомлением».
  • Настройки ActiveX: убедитесь, что он не отключает все элементы управления без уведомления. Все в порядке, для него установлено значение «Предпроверить меня, прежде чем включать все элементы управления с минимальными ограничениями». ЭТО БЫЛО ОСНОВНОЙ ПРИЧИН.
  • Надежные расположения: добавьте каталог своего элемента управления.

Обратите внимание, что некоторые из них обычно не нужны, если InstallShield правильно зарегистрировал содержащую программу (например, dll). Также обратите внимание, что мы по-прежнему позволяем запрашивать (возможно, неплохо подготовить вашу ответственность). Это не вызвало у нас проблемы.

  • Тем не менее, причина, по которой я здесь, состоит в том, что у нас есть один случай (из 200 клиентов), где выше не работает, и это только начиналось неделю назад (он работал последние 9 месяцев). На данный момент я предполагаю коррупцию Excel, поскольку никаких изменений не произошло. Мы все пробовали все. Вы решили?

Это решило это для меня:

Перейдите в следующий реестр:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Office \ 15.0 \ Common \ COM Совместимость {8856F961-340A-11D0-A96B-00C04FD705A2}

Затем установите значения данных от 400 до 0.

Надеюсь, поможет.

Извините, забыл отдать должное тому, кто его нашел. Вот. http://social.technet.microsoft.com/Forums/office/en-US/7942c472-2b5a-4005-888f-43ece2a5800a/adding-web-browser-control-to-excel-2013?forum=officeitpro&prof=required

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

Я решил проблему, просто перерегистрировав основные типы элементов управления, которые я использую, например, командные кнопки, Comboboxes, Listboxes, Spinners и т. Д.

Для этого перейдите на вкладку «Разработчик» и нажмите «Вставить» (элемент управления)

Выбрав «Дополнительные элементы управления», в правом нижнем углу элемента управления ActiveX вы можете перерегистрировать любые элементы управления, которые могут вам понадобиться.

  • как проверить книгу Excel или лист защищен паролем или нет?
  • Строка подключения Hide или Mask
  • Создание файла, затем запуск безопасной загрузки
  • Добавление учетных данных в файл веб-запросов Excel
  • Как обеспечить соединение ADO в проекте Excel VBA?
  • Выключить опцию, чтобы открыть файл xls в Internet Explorer с сайта?
  • Как удалить пароль из проекта VBA?
  • Векторы атаки в Microsoft Excel
  • SSIS 2008 R2 - «Менеджер подключений Excel» не выполнен с кодом ошибки 0xC0202009
  • Ошибка Visual Basic FileCopy75 после обновлений Microsoft Office 2010
  • Событие Excel Worksheet_SelectionChange не срабатывает вообще? (как в Office 2013, так и в 2016 году)
  • Interesting Posts

    Несколько условных форматирующих переменных в VBA

    VBA Найдите строку с двумя переменными, затем отметьте метку столбца

    Как автоматизировать вход в веб-запрос для загрузки данных в Microsoft Excel 2007?

    openpyxl Значение выборки из excel и сохранения в паре значений ключа

    Индекс динамической колонки как параметр

    Excel макрос не VBA

    Данные разбиваются на несколько строк при копировании с SQL Server 2012 на лист excel

    Обновить данные XML из Интернета в Excel

    Макрос, который неправильно распознает противоречия при планировании

    перечислить запросы в листах книги excel

    Как защитить структуру рабочей книги с помощью Apache POI, как и то, что я могу сделать в графическом интерфейсе Excel?

    Excel: динамический вывод

    Запуск макроса VBA в листе Excel с помощью внешнего консольного приложения c #

    Apache POI извлекает значение, как он выглядит в Excel

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

    Давайте будем гением компьютера.