|

Microsoft лишил Excel 2007 и 2010 элементов ActiveX

Сегодня по многим форумам, посвященным Microsoft Office разлетелась проблема: Перестали работать все кнопки ActiveX CommandButton во всех файлах, а так же невозможно вставить любой элемент ActiveX на лист(при попытке вставки появляется сообщение Вставка объекта неосуществима). Подробнее про вставку таких элементов на лист можно прочитать в статье: КАК СОЗДАТЬ КНОПКУ ДЛЯ ВЫЗОВА МАКРОСА НА ЛИСТЕ? Там я описывал пример вставки кнопки через 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%\Microsoft\Forms и нажать Enter
    В XP обычно это папка:
    C:\Documents and Settings\%USERNAME%\Application Data\Microsoft\Forms\
    В Win7:
    C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Forms\
  4. В открывшейся папке удалить все файлы с расширением EXD
  5. Так же не помешает удалить файлы с расширением EXD из временных папок Excel и VBE: %Temp%\Excel8.0\, %Temp%\VBE\, %USERPROFILE%\Local Settings\Temp\, %USERPROFILE%\Local Settings\Temp\Excel8.0\, %SystemRoot%\Temp\VBE\, %SystemRoot%\Temp\Excel8.0\
    Если каких-то папок нет или в них нет файлов EXD — значит все хорошо и там ничего критичного нет.

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

  fixMS_Hay.zip (423 байт, 6 987 скачиваний)

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

@echo off 
del "%APPDATA%\Microsoft\Forms\*.exd" 
del "%APPDATA%\Microsoft\Excel\*.xlb" 
del "%APPDATA%\Roaming\Microsoft\Forms\*.exd" 
del "%Temp%\VBE\*.exd" 
del "%Temp%\Excel8.0\*.exd" 
del "%APPDATA%\Microsoft\Local\*.exd" 
del "%USERPROFILE%\Local Settings\Temp\*.exd" 
del "%USERPROFILE%\Local Settings\Temp\VBE\*.exd" 
del "%USERPROFILE%\Local Settings\Temp\Excel8.0\*.exd" 
del "%SystemRoot%\Temp\VBE\*.exd" 
del "%SystemRoot%\Temp\Excel8.0\*.exd"

Если использовали Способ1 или Способ2, то для верности необходимо запустить файл с проектом VBA, открыть код(Alt+F11) и внести в код любые изменения (можно просто добавить или изменить любой комментарий), после чего скомпилировать проект в ручном режиме из меню: Debug=>Compile VBAProject. Сохранить файл. Попробовать работу ActiveX, в том числе на других ПК.


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


СПОСОБ 4
Ждать выпуска исправления проблемы от Microsoft, которые он кстати, обещал выпустить в ближайшее время. Так что может даже кому-то есть смысл подождать.

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

Loading

Похожие записи

  • | |

    Обновление MulTEx до версии 1.5.6

    Выпустил очередное обновление своей надстройки MulTEx — 1.5.6. На самом деле планировал выпустить обновление только до 1.5.5. Но на следующий день после выпуска обновления обнаружил, что для команды Сравнить диапазоны забыл обновить справку. Поэтому пришлось в быстром порядке все доделывать и выпускать очередное обновление :) Что же вошло в это обновление? Вот полный список: добавлена…

    Loading

  • | |

    Обновление MulTEx: версия 1.6.4

    Выпустил очередное обновление своей надстройки MulTEx — 1.6.4. Добавил пару команд, среди которых давно напрашивающаяся команда по «удалению» всех функций MulTEx из книги. Конечно, я не делал команду так, чтобы она просто взяла и очистила ячейки от формул. Команда заменяет саму функцию MulTEx на результат, вычисленный этой функцией. Так что теперь можно без проблем подготовить…

    Loading

  • | |

    Новая версия MulTEx 1.7.9

    Выпустил очередное обновление свой надстройки MulTEx. Само обновление очень важное, т.к. после того, как я перевел сайт на безопасный протокол https все важные запросы надстройки(активация, проверка и скачивание обновлений надстройки, поиск решений на сайте, уведомления о статьях и т.п.) перестали работать ввиду защищенности этого протокола. Поэтому очень настоятельно рекомендую всем пользователям MulTEx обновиться. При этом…

    Loading

  • |

    Обновление MulTEx

    Обновил свою надстройку MulTEx до версии 1.4.0. Я по мере возможности стараюсь исправлять найденные ошибки, а так же добавлять функционал. В частности, в этом обновлении добавил возможность создания связи с листом-источником при сборе данных с книг(об этой возможности меня неоднократно просили пользователи). А вот небольшой(официальный) перечень внесенных изменений/улучшений: в команду Сбор данных с листов/книг добавлена…

    Loading

  • |

    Открытый тренинг по Азам Excel

    07 февраля 2015 буду вести открытый тренинг по азам Excel, на который может записаться любой желающий. Тренинг будет проходить в учебном центре Обучения и Развития «Академия». Если Вы: хотите начать изучать Excel, но не знаете с чего начать планируете перейти на новую работу, на которой знание Excel необходимо постоянно работаете с Excel, но изучить его…

    Loading

  • |

    Сбой работы WiFi адаптера в Windows 7-8

    Недавно приключилась со мной интересная вещь — интернет на ноутбуке, подключенный через WiFi начал «отваливаться». Саму сеть WiFi ловил, но с ограниченным доступом, т.е. в интернет я выйти не мог. Однако сразу после переподключения или диагностики неполадок все без каких-либо дополнительных действий восстанавливалось, интернет работал. Но через минут 15-30, а то и через час-два(промежутки не…

    Loading

12 комментариев

  1. Если кому интересно, то решил проблему, открыв на компьютере, где не запускались элементы ActiveX vba-компилятор(alt + f11), далее любые изменения в коде (я добавил комментарий), далее debug -> CompileVBAproject, сохраняем и заупускаем. Все работает)

  2. У меня такая же проблема на Excel 2003.Перепробовал все рекомендованные
    методы,переустанавливал Offis,ничего не помогло.Помогите решить проблему !!!

    1. Анатолий, в принципе данное обновление не затрагивало 2003 офис. Поэтому описанные выше рекомендации вряд ли помогут в Вашем случае. Причина может быть вообще в чем-то совершенно ином.
      Я бы посоветовал посмотреть параметры безопасности — мало ли макросы отключились: Сервис ->Макрос ->Безопасность ->выбираем «низкая»
      Других предположений пока нет. Попробуйте описать поведение элементов: не реагируют на нажатия; работают у Вас, но не работают у других; что-то иное.

      1. Вот как раз-таки 2003 офис это накрыло по полной! И способ 1 не работает. Переустановка офиса не помогла. Винду переустанавливать нет смысла, поскольку обновление прилетит опять. Кстати, как оно точно называется, это обновление?

  3. Добрый день, Знатокам и чайникам как Я
    После данной ошибки, на некоторых компьютерах казалось все работало нормально. Но проблема в том что если даже данный компьютер работает нормально, то после того как на данном компьютере изменить файл (сохранить) и отправить тому у кого проделан один из выше указанных способов, файл перестает работать как будто изменена структура файла и все связи прерваны.

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

    Заранее спасибо!

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.