Excel не работают кнопки activex

Хитрости »

25 Май 2017              12117 просмотров


В Microsoft Office после определенных обновлений может появиться проблема: Перестают работать все элементы ActiveX (кнопки CommandButton, списки(Lists и ComboBox) и пр.) во всех файлах, а так же невозможно вставить любой элемент ActiveX на лист(при попытке вставки появляется сообщение Вставка объекта неосуществима), а при работе с таким файлом может появится ошибка Can’t exit design mode because control cannot be created). Подробнее про вставку таких элементов на лист можно прочитать в статье: КАК СОЗДАТЬ КНОПКУ ДЛЯ ВЫЗОВА МАКРОСА НА ЛИСТЕ? Там я описывал пример вставки кнопки через ActiveX, но сути это не меняет — остальные элементы вставляются точно так же. Яркий пример — декабрьское обновление безопасности для пакета Microsoft Office (от 09.12.2014), которое призвано устранить различные уязвимости безопасности (кстати сам пакет обновлений делает исправления не только в офисе, но и в Internet Explorer(IE), Exchange и самой ОС Windows). Тогда многие пользователи оказались практически без элементов ActiveX.
При этом очевидных решений проблем как правило нет, удаление установленных обновлений не всегда решает проблему.
Если столкнулись с подобной проблемой, то можно попробовать некоторые приведенные ниже способы. Не все они выдуманы мной, некоторые взяты из форумов. Я собрал проверенные методы в одну статью. Особая благодарность за решение сей проблемы MVP Excel Владимиру Захарову, известному на форумах как ZVI.

Предупреждение: все описанные ниже действия вы выполняете на свой страх и риск и автор статьи не несет никакой ответственности за потерю каких-либо данных(в том числе форматов) вследствие неосторожного использования инструкции, а так же за какой-либо ущерб, включая все без исключения случаи упущенной выгоды или потери данных, либо других денежных потерь, ставших результатом использования или невозможности использования инструкции, даже если автор был заранее поставлен в известность о возможности подобного рода ущерба.


СПОСОБ 1

Попробуем исправить ошибку вручную.

  1. Закрыть Excel (желательно вообще все окна и приложения)
  2. Нажать одновременно клавишу Windows и R (или нажать на панели задач кнопку ПУСК и выбрать команду Выполнить. В Windows 7 и выше она может отсутствовать и её необходимо будет отобразить через настройку меню Пуск)
  3. Ввести в поле команду: %APPDATA%MicrosoftForms и нажать Enter
    В XP обычно это папка:
    C:Documents and Settings%USERNAME%Application DataMicrosoftForms
    В Win7:
    C:Users%USERNAME%AppDataRoamingMicrosoftForms
  4. В открывшейся папке удалить все файлы с расширением EXD
  5. Так же не помешает удалить файлы с расширением EXD из временных папок Excel и VBE: %Temp%Excel8.0, %Temp%VBE, %USERPROFILE%Local SettingsTemp, %USERPROFILE%Local SettingsTempExcel8.0, %SystemRoot%TempVBE, %SystemRoot%TempExcel8.0
    Если каких-то папок нет или в них нет файлов EXD — значит все хорошо и там ничего критичного нет.

СПОСОБ 2

Для тех, кто руками такое проделывать не хочет или все написанное выше китайская грамота — прикладываю BAT-файл со всеми необходимыми командами. Все, что останется — это только его запустить двойным кликом мыши (закрыв предварительно Excel и другие приложения и папки).

  fixMS_Hay.zip (423 bytes, 6 455 скачиваний)

Само содержание BAT-ника выглядит так:

@echo off 
del "%APPDATA%MicrosoftForms*.exd" 
del "%APPDATA%MicrosoftExcel*.xlb" 
del "%APPDATA%RoamingMicrosoftForms*.exd" 
del "%Temp%VBE*.exd" 
del "%Temp%Excel8.0*.exd" 
del "%APPDATA%MicrosoftLocal*.exd" 
del "%USERPROFILE%Local SettingsTemp*.exd" 
del "%USERPROFILE%Local SettingsTempVBE*.exd" 
del "%USERPROFILE%Local SettingsTempExcel8.0*.exd" 
del "%SystemRoot%TempVBE*.exd" 
del "%SystemRoot%TempExcel8.0*.exd"

Если использовали Способ1 или Способ2

, то для верности необходимо

  1. открыть проблемный файл Excel
  2. перейти в редактор кода Visual Basic(сочетанием клавиш Alt+F11 или из меню c вкладки Разработчик(Developer)Visual Basic)
  3. внести в код любые изменения (можно просто добавить или изменить любой комментарий). Например, в любом свободном месте записать такую строку кода:
  4. скомпилировать проект в ручном режиме из меню редактора: Debug=>Compile VBAProject
  5. сохранить файл

Попробовать работу ActiveX, в том числе на других ПК.


СПОСОБ 3

Самый верный способ для тех, кому нечего терять :-) Переустановка Windows. Можно еще попробовать сделать откат обновлений, но как показала практика откат далеко не всегда решает проблему. Переустановка офиса помогает еще реже, судя по отзывам тех, кто столкнулся с проблемой. Т.е. переустановка может помочь, а может и нет. Как поступить в этом случае решайте сами.


СПОСОБ 4

Вспомнить в какой момент это все началось и проверить обновления офиса и безопасности за этот период от Microsoft(это можно посмотреть через Панель управления -Программы и компоненты -Просмотр установленных обновлений). Если таковые были — перейти на страницу обновлений, изучить что в них вошло. И терпеливо ждать исправления проблемы от Microsoft.


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


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Среда 1: Windows 7 x86, MsOffice 2003
Среда 2: Windows 7 x64, MsOffice 2003
Среда 3: Windows XP x86, MsOffice 2003

Проблема:
Excel 2003, в файлах xls перестали работать кнопки ActiveX CommandButton, а также при попытке вставить на лист элемент управления ActiveX
получаем сообщение — Вставка объекта неосуществима.

Варианты решения:
1. Удаляем кэшированные объекты расширителей управления — файлы *.exd
«Cannot insert object» error in an ActiveX custom Office solution after you install the MS14-082 security update

https://support.microsoft.com/en-us/kb/3025036

Если вам это решение помогло, то на этом можно и закончить. А чтобы автоматизировать процесс, например, можно испльзовать код на vbs для
переименования файлов MSForms.exd —

http://stackoverflow.com/questions/27411399/microsoft-excel-activex-controls-disabled

—Public Sub RenameMSFormsFiles()—

2. Проверяем версию библиотеки FM20.DLL и проводим ее перерегистрацию (это для перестраховки, на случай некорректной установки обновления).

https://support.microsoft.com/en-us/kb/2553154

— устанавливает FM20.DLL v.14.0.7140.5001 (19-Nov-2014)
При данной версии dll проблемы не проявлялись

https://support.microsoft.com/en-us/kb/3054873

— устанавливает FM20.DLL v.14.0.7153.5001 (23-Jun-2015)
Что-то перестает работать + получаем сообщение — Вставка объекта неосуществима

Перерегистрация библиотеки (учитываем битность своей операционной системы):
x86
1. c:WindowsSystem32regsvr32.exe c:WindowsSystem32FM20.DLL /u
убеждаемся что раздела в реестре более не существует — [HKEY_CLASSES_ROOTCLSID{D7053240-CE69-11CD-A777-00DD01143C57}]
2. c:WindowsSystem32regsvr32.exe c:WindowsSystem32FM20.DLL
убеждаемся что раздел в реестре снова появился — [HKEY_CLASSES_ROOTCLSID{D7053240-CE69-11CD-A777-00DD01143C57}]

x64
1. c:WindowsSysWOW64regsvr32.exe c:WindowsSysWOW64FM20.DLL /u
убеждаемся что раздела в реестре более не существует — [HKEY_CLASSES_ROOTWow6432NodeCLSID{D7053240-CE69-11CD-A777-00DD01143C57}]
2. c:WindowsSysWOW64regsvr32.exe c:WindowsSysWOW64FM20.DLL
убеждаемся что раздел в реестре снова появился — [HKEY_CLASSES_ROOTWow6432NodeCLSID{D7053240-CE69-11CD-A777-00DD01143C57}]

3. Не помогло? Исследуем далее:
Используем Process Monitor.
Выставляем фильтры:
Фильтр 1: Path-Contains-COM Compatibility
Фильтр 2: Path-Contains-ActiveX Compatibility

Запускаем Excel, пытаемся вставить объект ActiveX — Кнопка и получаем сообщение — Вставка объекта неосуществима

Определяем разделы к которым шло обращение:
x86
HKLMSOFTWAREMicrosoftOfficeCommonCOM Compatibility{D7053240-CE69-11CD-A777-00DD01143C57}
HKLMSOFTWAREMicrosoftInternet ExplorerActiveX Compatibility{D7053240-CE69-11CD-A777-00DD01143C57}

x64
HKLMSOFTWAREWow6432NodeMicrosoftOfficeCommonCOM Compatibility{D7053240-CE69-11CD-A777-00DD01143C57}
HKLMSOFTWAREWow6432NodeMicrosoftInternet ExplorerActiveX Compatibility{D7053240-CE69-11CD-A777-00DD01143C57}

Определяем параметр к которому шло обращение — Compatibility Flags, тип REG_DWORD

Далее ищем источники информации и набираемся знаний :)

Security Settings for ActiveX controls and OLE objects in Office 2003 and in the 2007 Office suite —

https://support.microsoft.com/en-us/kb/2252664

Как отключить запуск элемента управления ActiveX в обозревателе Internet Explorer —

https://support.microsoft.com/ru-ru/kb/240797

Удаление элементов управления ActiveX в Windows —

https://support.microsoft.com/ru-ru/kb/154850

Managing ActiveX Control Loading —

https://msdn.microsoft.com/en-us/library/bb688194(v=vs.85).aspx

The following flags determine the behavior of registered Microsoft ActiveX controls —

https://msdn.microsoft.com/en-us/library/aa768234.aspx

The Kill-Bit FAQ: Part 1 of 3 —

https://blogs.technet.microsoft.com/srd/2008/02/06/the-kill-bit-faq-part-1-of-3/

The Kill-Bit FAQ: Part 2 of 3 —

https://blogs.technet.microsoft.com/srd/2008/02/07/the-kill-bit-faq-part-2-of-3/

The Kill-Bit FAQ: Part 3 of 3 —

https://blogs.technet.microsoft.com/srd/2008/02/08/the-kill-bit-faq-part-3-of-3/

Plan security settings for ActiveX controls for Office 2013 —

https://technet.microsoft.com/en-us/library/cc179076.aspx

4. Решение проблемы:
Наличие в данных разделах параметра Compatibility Flags со значением REG_DWORD = 0x400 отключает запуск элемента управления ActiveX
и приводит к сообщению — Вставка объекта неосуществима.

Вариантов решения несколько и что применить решать вам, т.к. это связано с безопасностью, запуск элемента был заблокирован не случайно, а для закрытия уязвимостей в системе.
Не забываем сохранить ветку реестра перед внесением изменений — любимая рекомендация майкрософт :)

4.1. изменить значение с 400, например, на 800000. Кроме того, может присутствовать параметр AlternateCLSID, который перенаправляет на другой CLSID и параметр Compatibility Flags не отрабатывает, поэтому удаляем AlternateCLSID.

4.2. не советую — удалить параметр Compatibility Flags из найденных разделов {D7053240-CE69-11CD-A777-00DD01143C57}
4.3. не советую — удалить сам раздел {D7053240-CE69-11CD-A777-00DD01143C57} из ..MicrosoftInternet ExplorerActiveX Compatibility или ..MicrosoftOfficeCommonCOM Compatibility

  • Remove From My Forums
  • Вопрос

  • Возникли проблемы с кнопками ActiveX CommandButton. При работе с файлом было замечено, что некоторые кнопки перестали нажиматься. Открыть свойства кнопки не удается, ее вообще нет в списке объектов.

    Кроме того, невозможно выполнить макрос, расположенный на листе со сломанной кнопкой. При попытке запуска макроса из редактора возникает ошибка Run-time error ‘32809’.

    Когда и почему ломаются кнопки — не ясно. Формат файла xls. Проверялось в Excel 2010 и 2013. Исходный файл содержит 250 листов, из них около 70 видимы, около 50 имеют кнопки. Иногда при открытии файла появляется предупреждение
    «Данные могут быть утеряны».

    В приложенном файле оставил только сломанные листы:
    ActiveX and VBA bug 0.xls (https://yadi.sk/i/c3fpWMyLg9ZsS)

    Подскажите, как бороться с этой проблемой.

Ответы

  • Вот, что выдаёт Справка:

    «Can’t exit design mode because control can’t be created

    All controls must be instantiated before you can exit design mode. This error has the following causes and solutions:
    The control specified in the error message dialog box could not be created.
    Code can only run after all controls are instantiated and properly connected. Make sure every file needed for the control is available before trying again.

    For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).».

    Команды VBA для Excel 2003, отличаются от команд для Excel 2010. Проверьте, что созданные Вами кнопки, действительно имеют привязку к макросам. Нажатие кнопки, должно запускать макрос, который в свою очередь должен
    выполнить определённое действие, например «Добавление строк».
    Возможно, что два файла-примера, помогут Вам выйти на правильное для Вас решение.

    P.S.
    Внимательно изучите обсуждение, возможно это Ваш случай. Проверьте, все ли обновления установлены.


    Да, я Жук, три пары лапок и фасеточные глаза :))

    • Изменено

      30 мая 2015 г. 6:38

    • Предложено в качестве ответа
      ЖукMVP, Moderator
      22 июня 2015 г. 11:54
    • Помечено в качестве ответа
      ЖукMVP, Moderator
      25 июня 2015 г. 7:57

    • Помечено в качестве ответа
      arxz
      8 октября 2015 г. 8:22

Содержание

  1. Элементы ActiveX перестали работать или ведут себя непредсказуемо
  2. Включение и отключение параметров элементов ActiveX в файлах Office
  3. В этой статье
  4. Включение элементов ActiveX при появлении панели сообщений
  5. Включение элементов ActiveX в представлении Backstage
  6. Включение элементов ActiveX на один раз при появлении предупреждения системы безопасности
  7. Изменение параметров элементов ActiveX в Word, Access, Excel, PowerPoint, Publisher и Visio
  8. Описание параметров элементов ActiveX
  9. Что представляет собой элемент ActiveX и какие риски с ним связаны
  10. Риск и возможные последствия
  11. Excel не работают элементы activex

Элементы ActiveX перестали работать или ведут себя непредсказуемо

В Microsoft Office после определенных обновлений может появиться проблема: Перестают работать все элементы ActiveX (кнопки CommandButton , списки( Lists и ComboBox ) и пр.) во всех файлах, а так же невозможно вставить любой элемент ActiveX на лист(при попытке вставки появляется сообщение Вставка объекта неосуществима ), а при работе с таким файлом может появится ошибка Can’t exit design mode because control cannot be created ). Подробнее про вставку таких элементов на лист можно прочитать в статье: КАК СОЗДАТЬ КНОПКУ ДЛЯ ВЫЗОВА МАКРОСА НА ЛИСТЕ? Там я описывал пример вставки кнопки через ActiveX, но сути это не меняет — остальные элементы вставляются точно так же. Яркий пример — декабрьское обновление безопасности для пакета Microsoft Office (от 09.12.2014), которое призвано устранить различные уязвимости безопасности (кстати сам пакет обновлений делает исправления не только в офисе, но и в Internet Explorer(IE), Exchange и самой ОС Windows). Тогда многие пользователи оказались практически без элементов ActiveX.
При этом очевидных решений проблем как правило нет, удаление установленных обновлений не всегда решает проблему.
Если столкнулись с подобной проблемой, то можно попробовать некоторые приведенные ниже способы. Не все они выдуманы мной, некоторые взяты из форумов. Я собрал проверенные методы в одну статью. Особая благодарность за решение сей проблемы MVP Excel Владимиру Захарову, известному на форумах как ZVI.

Предупреждение: все описанные ниже действия вы выполняете на свой страх и риск и автор статьи не несет никакой ответственности за потерю каких-либо данных(в том числе форматов) вследствие неосторожного использования инструкции, а так же за какой-либо ущерб, включая все без исключения случаи упущенной выгоды или потери данных, либо других денежных потерь, ставших результатом использования или невозможности использования инструкции, даже если автор был заранее поставлен в известность о возможности подобного рода ущерба.

  1. Закрыть Excel (желательно вообще все окна и приложения)
  2. Нажать одновременно клавишу Windows и R (или нажать на панели задач кнопку ПУСК и выбрать команду Выполнить . В Windows 7 и выше она может отсутствовать и её необходимо будет отобразить через настройку меню Пуск)
  3. Ввести в поле команду: %APPDATA%MicrosoftForms и нажать Enter
    В XP обычно это папка:
    C:Documents and Settings%USERNAME%Application DataMicrosoftForms
    В Win7:
    C:Users%USERNAME%AppDataRoamingMicrosoftForms
  4. В открывшейся папке удалить все файлы с расширением EXD
  5. Так же не помешает удалить файлы с расширением EXD из временных папок Excel и VBE: %Temp%Excel8.0 , %Temp%VBE , %USERPROFILE%Local SettingsTemp , %USERPROFILE%Local SettingsTempExcel8.0 , %SystemRoot%TempVBE , %SystemRoot%TempExcel8.0
    Если каких-то папок нет или в них нет файлов EXD — значит все хорошо и там ничего критичного нет.

СПОСОБ 2
Для тех, кто руками такое проделывать не хочет или все написанное выше китайская грамота — прикладываю BAT-файл со всеми необходимыми командами. Все, что останется — это только его запустить двойным кликом мыши (закрыв предварительно Excel и другие приложения и папки).

fixMS_Hay.zip (423 bytes, 6 445 скачиваний)

Само содержание BAT-ника выглядит так:

@echo off del «%APPDATA%MicrosoftForms*.exd» del «%APPDATA%MicrosoftExcel*.xlb» del «%APPDATA%RoamingMicrosoftForms*.exd» del «%Temp%VBE*.exd» del «%Temp%Excel8.0*.exd» del «%APPDATA%MicrosoftLocal*.exd» del «%USERPROFILE%Local SettingsTemp*.exd» del «%USERPROFILE%Local SettingsTempVBE*.exd» del «%USERPROFILE%Local SettingsTempExcel8.0*.exd» del «%SystemRoot%TempVBE*.exd» del «%SystemRoot%TempExcel8.0*.exd»

  1. открыть проблемный файл Excel
  2. перейти в редактор кода Visual Basic(сочетанием клавиш Alt + F11 или из меню c вкладки Разработчик (Developer)Visual Basic)
  3. внести в код любые изменения (можно просто добавить или изменить любой комментарий). Например, в любом свободном месте записать такую строку кода:

Попробовать работу ActiveX, в том числе на других ПК.

СПОСОБ 3
Самый верный способ для тех, кому нечего терять 🙂 Переустановка Windows. Можно еще попробовать сделать откат обновлений, но как показала практика откат далеко не всегда решает проблему. Переустановка офиса помогает еще реже, судя по отзывам тех, кто столкнулся с проблемой. Т.е. переустановка может помочь, а может и нет. Как поступить в этом случае решайте сами.

СПОСОБ 4
Вспомнить в какой момент это все началось и проверить обновления офиса и безопасности за этот период от Microsoft(это можно посмотреть через Панель управления -Программы и компоненты -Просмотр установленных обновлений). Если таковые были — перейти на страницу обновлений, изучить что в них вошло. И терпеливо ждать исправления проблемы от Microsoft.

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

Статья помогла? Поделись ссылкой с друзьями!

Источник

Включение и отключение параметров элементов ActiveX в файлах Office

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

ИТ-специалисты могут найти дополнительные сведения о планировании элементов ActiveX в статье TechNet Планирование параметров безопасности для элементов управления ActiveX в приложениях Office 2010.

В этой статье

Включение элементов ActiveX при появлении панели сообщений

При открытии файла с элементами ActiveX появляется желтая панель сообщений со значком щита и кнопкой Включить содержимое. Если известно, что источник элементов является надежным, воспользуйтесь описанными ниже инструкциями.

В области Панель сообщений нажмите кнопку Включить содержимое.
Файл откроется в качестве надежного документа.

На приведенном ниже рисунке показан пример панели сообщений, если в файле есть элементы ActiveX.

Включение элементов ActiveX в представлении Backstage

Другой способ включения элементов ActiveX в файле — с помощью представления Microsoft Office Backstage, которое появляется после открытия вкладки Файл при отображении желтой панели сообщений.

Откройте вкладку Файл.

В области Предупреждение системы безопасности нажмите кнопку Включить содержимое.

В разделе Включить все содержимое выберите команду Всегда включать активное содержимое данного документа.
Файл станет надежным документом.

На приведенном ниже рисунке показаны команды Всегда включать активное содержимое этого документа и Дополнительные параметры.

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

Примечание: Исключение составляют элементы ActiveX с флагом блокировки. Такие элементы ActiveX не запускаются. Флаг блокировки — это функция безопасности, которая запрещает элементу ActiveX использовать код ActiveX, например устраняя уязвимость в системе безопасности или предотвращая запуск кода.

Включение элементов ActiveX на один раз при появлении предупреждения системы безопасности

Выполнив приведенные ниже инструкции, можно включить элементы управления на то время, пока открыт файл. Если закрыть файл и открыть его снова, предупреждение появится опять.

Откройте вкладку Файл.

В области Предупреждение системы безопасности нажмите кнопку Включить содержимое.

Выберите элемент Дополнительные параметры .

В диалоговом окне Параметры безопасности Microsoft Office выберите команду Включить содержимое для этого сеанса для каждого элемента ActiveX.

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

Если файл содержит проект Visual Basic для приложений (VBA), например файл Microsoft Excel с поддержкой макросов, центр управления безопасностью налагает более жесткие ограничения, поскольку такой файл может содержать макросы.

Элементы ActiveX и другой активный контент следует включать только в том случае, если точно известно, что они получены из надежного источника.

Изменение параметров элементов ActiveX в Word, Access, Excel, PowerPoint, Publisher и Visio

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

Выберите Файл > Параметры.

Выберите по очереди пункты Центр управления безопасностью, Параметры центра управления безопасностью и Параметры ActiveX.

Выберите нужные параметры и нажмите кнопку ОК.

Далее показан пример области Параметры ActiveX центра управления безопасностью.

Важно: При изменении параметра ActiveX в Word, Access, Excel, PowerPoint, Publisher или Visio аналогичные параметры изменяются и во всех остальных программах из этого списка.

Описание параметров элементов ActiveX

Приведенные ниже объяснения относятся к элементам ActiveX, которые не находятся в надежном расположении или надежных документах.

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

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

Запрос перед включением элементов управления, инициализация которых считается небезопасной (UFI), с дополнительными ограничениями и элементов управления, инициализация которых считается безопасной (SFI), с минимальными ограничениями. Здесь возможны два варианта в зависимости от наличия проектов VBA projects.

При наличии проекта VBA. Все элементы ActiveX отключены, отображается панель сообщений. Чтобы включить элементы управления, нажмите кнопку Включить содержимое.

При отсутствии проекта VBA. Элементы ActiveX, инициализация которых считается безопасной SFI, включены с минимальными ограничениями, и панель сообщений не появляется. Чтобы не открывать панель сообщений, необходимо пометить все элементы ActiveX как SFI. Элементы ActiveX, инициализация которых считается небезопасной (UFI), отключены. Однако в случае включения элементов UFI они инициализируются с дополнительными ограничениями (например, значениями по умолчанию). Постоянные данные, являющиеся частью элементов UFI, будут потеряны.

Запрос перед включением всех элементов управления с минимальными ограничениями. Этот параметр установлен по умолчанию. Здесь возможны два варианта в зависимости от наличия проектов VBA.

При наличии проекта VBA. Все элементы ActiveX отключены, отображается панель сообщений. Чтобы включить элементы управления, нажмите кнопку Включить содержимое.

При отсутствии проекта VBA. Элементы ActiveX, инициализация которых считается безопасной (SFI), включены с минимальными ограничениями, и панель сообщений не появляется. Чтобы не открывать панель сообщений, необходимо пометить все элементы ActiveX как SFI. Элементы ActiveX, инициализация которых считается небезопасной (UFI), отключены. Однако в случае включения элементов UFI они инициализируются с минимальными ограничениями (например, постоянные значения или значения по умолчанию, если постоянные данные не существуют).

Включить все элементы управления без ограничений и запросов (не рекомендуется). Все элементы ActiveX в документах включаются с минимальными ограничениями.

Сейф режиме В ActiveX SFI можно включить элементы управления в безопасном режиме, то есть разработчик пометил их как безопасные.

Что представляет собой элемент ActiveX и какие риски с ним связаны

Элементы ActiveX — это небольшие стандартные блоки, используемые для создания приложений, работающих через Интернет в веб-браузере. Примерами могут служить пользовательские приложения для сбора данных, просмотра файлов определенных типов и показа анимации. Обычно элементы ActiveX используются в кнопках, списках и диалоговых окнах. В программах Office также можно использовать элементы ActiveX для расширения функциональности документов.

Риск и возможные последствия

Элементы ActiveX могут иметь неограниченный доступ к компьютеру и, следовательно, могут получить доступ к локальной файловой системе и изменить параметры реестра операционной системы. Если злоумышленник воспользуется элементом ActiveX, чтобы управлять компьютером, нежелательные последствия могут быть весьма серьезными.

Источник

Excel не работают элементы activex

Создал файлик, кнопки и др. были стандартными (Элементы управления формы, не ActiveX), к кнопкам были привязаны макросы.
Все работало везде.
Переписал все кнопки на элементах ActiveX, из макросов сделал процедуры для кнопок.
Все работает, но только на ОДНОМ, моем, компе.
Запускаешь файл на другом пк, и кнопки не работают, они отвязаны от процедур. В режиме конструктора перехожу на код кнопки, а создается новая процедура, а не привязанная ранее.

Как такое могло случиться?

Создал файлик, кнопки и др. были стандартными (Элементы управления формы, не ActiveX), к кнопкам были привязаны макросы.
Все работало везде.
Переписал все кнопки на элементах ActiveX, из макросов сделал процедуры для кнопок.
Все работает, но только на ОДНОМ, моем, компе.
Запускаешь файл на другом пк, и кнопки не работают, они отвязаны от процедур. В режиме конструктора перехожу на код кнопки, а создается новая процедура, а не привязанная ранее.

Как такое могло случиться? akhm

Создал файлик, кнопки и др. были стандартными (Элементы управления формы, не ActiveX), к кнопкам были привязаны макросы.
Все работало везде.
Переписал все кнопки на элементах ActiveX, из макросов сделал процедуры для кнопок.
Все работает, но только на ОДНОМ, моем, компе.
Запускаешь файл на другом пк, и кнопки не работают, они отвязаны от процедур. В режиме конструктора перехожу на код кнопки, а создается новая процедура, а не привязанная ранее.

Как такое могло случиться? Автор — akhm
Дата добавления — 22.03.2015 в 12:54

Pelena Дата: Воскресенье, 22.03.2015, 14:11 | Сообщение № 2
«Черт возьми, Холмс! Но как. »
Ю-money 41001765434816

Ответить

akhm Дата: Воскресенье, 22.03.2015, 17:13 | Сообщение № 3

Спасибо, но, похоже что это не совсем мой случай.
Ошибку при добавлении ActiveX элементов я уже прошел, на рабочем компе. Решил ее созданием новой учетной записи.

В моем же случае элементы ActiveX создаются и работают, но только если их создать заново. А уже созданные не хотят.

Спасибо, но, похоже что это не совсем мой случай.
Ошибку при добавлении ActiveX элементов я уже прошел, на рабочем компе. Решил ее созданием новой учетной записи.

В моем же случае элементы ActiveX создаются и работают, но только если их создать заново. А уже созданные не хотят. akhm

Сообщение Спасибо, но, похоже что это не совсем мой случай.
Ошибку при добавлении ActiveX элементов я уже прошел, на рабочем компе. Решил ее созданием новой учетной записи.

В моем же случае элементы ActiveX создаются и работают, но только если их создать заново. А уже созданные не хотят. Автор — akhm
Дата добавления — 22.03.2015 в 17:13

akhm Дата: Воскресенье, 22.03.2015, 17:19 | Сообщение № 4

Заметил еще одну особенность:

В файле один лист, если на нем создаю кнопку ActiveX и код к ней, то этот код не работает, кнопка нажимется, но ничего не происходит.
А если создам еще один лист, то на нем все работает нормально.

Может я чего мог выключить на конкретном листе? запретить выполнение команд?

Заметил еще одну особенность:

В файле один лист, если на нем создаю кнопку ActiveX и код к ней, то этот код не работает, кнопка нажимется, но ничего не происходит.
А если создам еще один лист, то на нем все работает нормально.

Может я чего мог выключить на конкретном листе? запретить выполнение команд? akhm

Сообщение Заметил еще одну особенность:

В файле один лист, если на нем создаю кнопку ActiveX и код к ней, то этот код не работает, кнопка нажимется, но ничего не происходит.
А если создам еще один лист, то на нем все работает нормально.

Может я чего мог выключить на конкретном листе? запретить выполнение команд? Автор — akhm
Дата добавления — 22.03.2015 в 17:19

DJ_Marker_MC Дата: Воскресенье, 22.03.2015, 17:22 | Сообщение № 5
Manyasha Дата: Воскресенье, 22.03.2015, 17:24 | Сообщение № 6
ЯД: 410013299366744 WM: R193491431804

Ответить

akhm Дата: Понедельник, 23.03.2015, 15:15 | Сообщение № 7

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

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

Следующие попытки
— открываю файл на компе, где не работает
— создаю новую книгу, копирую туда лист с кнопками (копируются и макросы листа)
— копирую макросы прописанный в книге
— и, вроде бы, ура заработали все кнопки
— но, пересохраняю файл на своем компе и на других перестает работать

из моего файла удалил все ненужное, сохранил, получился файл «не работает»
на другом компе из «не работает» скопировал лист в новую книгу, сохранил как «работает» и файл работает.

Что происходит на моем компе с файлом при его сохранении?

файлы по 187 Кб, так что прикреплю так: https://yadi.sk/d/GC_jPI6efTKpG

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

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

Следующие попытки
— открываю файл на компе, где не работает
— создаю новую книгу, копирую туда лист с кнопками (копируются и макросы листа)
— копирую макросы прописанный в книге
— и, вроде бы, ура заработали все кнопки
— но, пересохраняю файл на своем компе и на других перестает работать

из моего файла удалил все ненужное, сохранил, получился файл «не работает»
на другом компе из «не работает» скопировал лист в новую книгу, сохранил как «работает» и файл работает.

Что происходит на моем компе с файлом при его сохранении?

файлы по 187 Кб, так что прикреплю так: https://yadi.sk/d/GC_jPI6efTKpG akhm

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

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

Следующие попытки
— открываю файл на компе, где не работает
— создаю новую книгу, копирую туда лист с кнопками (копируются и макросы листа)
— копирую макросы прописанный в книге
— и, вроде бы, ура заработали все кнопки
— но, пересохраняю файл на своем компе и на других перестает работать

из моего файла удалил все ненужное, сохранил, получился файл «не работает»
на другом компе из «не работает» скопировал лист в новую книгу, сохранил как «работает» и файл работает.

Что происходит на моем компе с файлом при его сохранении?

файлы по 187 Кб, так что прикреплю так: https://yadi.sk/d/GC_jPI6efTKpG Автор — akhm
Дата добавления — 23.03.2015 в 15:15

DJ_Marker_MC Дата: Понедельник, 23.03.2015, 15:26 | Сообщение № 8

akhm, еще раз отвечу! Если у Вас офис 2010 sp2 то У ВАС 100% установлено обновление KB2553154 от 9 декабря. ИМЕННО НА ВАШЕЙ МАШИНЕ. Если вы откроете свой файл на свое рабочей машине и сохраните его, то на других машинах (даже на тех где обновление НЕ УСТАНАВЛИВАЛОСЬ от 9 декабря не устанавливалось) он работать не будет.
Ошибку обновления от 9 декабря исправляет обновление KB2920813 от 10.03.15. Проверьте установлено ли оно у Вас. Если этого обновления нет, то его необходимо установить, желательно через Центр Обновления!
Я эту тему хорошо знаю, так как «методом научного тыка» искал как избавиться от такой же проблемы у себя на фирме.
Проверить установлено ли оно у вас можно пройдя по пути:
Панель управления — Программы и компоненты — слева сверху переходите в Просмотр установленных обновлений и тут в разделе офис посмотрите KB2553154 от 9 декабря и KB2920813 от 10.03.15

UP:
Например, у меня в Вашем файле «Не работает» — отлично работают все элементы ActiveX и все команды выполняются!

akhm, еще раз отвечу! Если у Вас офис 2010 sp2 то У ВАС 100% установлено обновление KB2553154 от 9 декабря. ИМЕННО НА ВАШЕЙ МАШИНЕ. Если вы откроете свой файл на свое рабочей машине и сохраните его, то на других машинах (даже на тех где обновление НЕ УСТАНАВЛИВАЛОСЬ от 9 декабря не устанавливалось) он работать не будет.
Ошибку обновления от 9 декабря исправляет обновление KB2920813 от 10.03.15. Проверьте установлено ли оно у Вас. Если этого обновления нет, то его необходимо установить, желательно через Центр Обновления!
Я эту тему хорошо знаю, так как «методом научного тыка» искал как избавиться от такой же проблемы у себя на фирме.
Проверить установлено ли оно у вас можно пройдя по пути:
Панель управления — Программы и компоненты — слева сверху переходите в Просмотр установленных обновлений и тут в разделе офис посмотрите KB2553154 от 9 декабря и KB2920813 от 10.03.15

UP:
Например, у меня в Вашем файле «Не работает» — отлично работают все элементы ActiveX и все команды выполняются! DJ_Marker_MC

Сообщение akhm, еще раз отвечу! Если у Вас офис 2010 sp2 то У ВАС 100% установлено обновление KB2553154 от 9 декабря. ИМЕННО НА ВАШЕЙ МАШИНЕ. Если вы откроете свой файл на свое рабочей машине и сохраните его, то на других машинах (даже на тех где обновление НЕ УСТАНАВЛИВАЛОСЬ от 9 декабря не устанавливалось) он работать не будет.
Ошибку обновления от 9 декабря исправляет обновление KB2920813 от 10.03.15. Проверьте установлено ли оно у Вас. Если этого обновления нет, то его необходимо установить, желательно через Центр Обновления!
Я эту тему хорошо знаю, так как «методом научного тыка» искал как избавиться от такой же проблемы у себя на фирме.
Проверить установлено ли оно у вас можно пройдя по пути:
Панель управления — Программы и компоненты — слева сверху переходите в Просмотр установленных обновлений и тут в разделе офис посмотрите KB2553154 от 9 декабря и KB2920813 от 10.03.15

UP:
Например, у меня в Вашем файле «Не работает» — отлично работают все элементы ActiveX и все команды выполняются! Автор — DJ_Marker_MC
Дата добавления — 23.03.2015 в 15:26

Источник

Adblock
detector

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше

Проблема

Иногда трудно и непредсказуемо выбрать один из хим.

Причина

Это может быть по нескольким причинам.

  • Так как в форме может быть текст или другие объекты (например, изображение), при попытке выбрать его может не быть выбран весь его объект, если указатель не будет точно выбран на границе.

  • Если Excel режиме конструктора нет, при попытке выбрать ActiveX вы можете непреднамеренно запустить макрос или выбрать его.

  • Многие элементы управления находятся близко друг к другу.

Решение

Сначала определите тип нужного типа управления. Поскольку существует три разных типа элементов управления и объектов, которые можно изменять уникальным образом, возможно, вы не знаете точно, к каков типу элементов управления они просто при взгляде. Чтобы определить тип такого управления, щелкните его правой кнопкой мыши и обратите внимание на следующее:

  • Если контекстное меню содержит команду Назначить макрос, это элемент управления формы.

    Совет: Чтобы отобразить правильное shortcut menu для группы box Форма управления, убедитесь, что выбран периметр группы, а не внутренняя часть группы.

  • Если в shortcut-меню есть команда Свойства,это ActiveX, а Excel в режиме конструктора.

  • Если в shortcut-меню есть команда Изменить текст,это объект Средства рисования.

Затем сделайте следующее:

  • Для управления формы щелкните его и убедитесь, что отображается граница.

    Контрольная граница

  • Для ActiveX:

    1. Если вкладка Разработчик недоступна, отобразить ее:

      1. Откройте вкладку Файл и выберите команду Параметры.

      2. В списке Настройка ленты выберите Основные вкладки.

      3. Выберите разработчик.

    2. Убедитесь, Excel режим конструктора. На вкладке Разработчик в группе Элементы управления включим режим конструктора .

      Режим конструктора

  • При работе с большим количеством элементов управления, которые находятся близко друг к другу, увеличь масштаб, чтобы увеличить представление.

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

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Нужна дополнительная помощь?

Понравилась статья? Поделить с друзьями:
  • Excel не работает функция мин
  • Excel не работает функция в ячейке
  • Excel не работает формула разндат
  • Excel не работает формула при копировании
  • Excel не работает формула знач