Хитрости »
Основные понятия (22)Здесь собраны статьи, в которых разъясняются базовые понятия работы в Excel и VBA, а так же проблемы, с которыми сталкивается большинство начинающих
Сводные таблицы и анализ данных (5) Раздел поможет изучить сводные таблицы и научиться их использовать "на полную"
Графики и диаграммы (4) Раздел поможет научиться создавать диаграммы и графики в Excel, в том числе нестандартные
Работа с VB проектом (10) С помощью статей раздела вы научитесь создавать процедуры программно и выполнять различные операции с объектами самого VBA
Power BI и Power Query (5) Здесь собраны статьи, раскрывающие различные возможности мощнейшего инструмента для визуализаций бизнесс-процессов Power BI и надстройки для Excel Power Query
Условное форматирование (5) Этот раздел поможет поближе познакомиться с Условным форматированием на примерах различных ситуаций
Списки и диапазоны (5) Статьи, посвященные работе не только с выпадающими списками, но и с диапазонами и хитростями их применения в рабочих файлах
Макросы(VBA процедуры) (59) Статьи раздела направлены на изучение VBA с детальным разбором кодов. Множество статей с примерами кодов под всевозможные ситуации с комментариями и пояснениями
Разное (34) Собраны статьи, которые не подходят ни под одну из представленных выше категорий или входят сразу в несколько. Но эти статье не менее полезные!

Субъект не имеет доверия для выполнения указанного действия

Недавно столкнулся с ситуацией, когда в присланном файле не обнаружил на пользовательских формах(UserForms) элементов RefEdit.

Кто не в курсе, данный контрол предназначен для указания диапазона ячеек. По умолчанию он отсутствует в стандартном наборе контролов на форме Toolbox, но его легко добавить: Tools- Additional Controls- RefEdit(или RefEdit.Ctrl)

Естественно, формы в файле не работали должным образом и при вызове выдавали ошибку, ругаясь на отсутствие контрола. Я лично грешу, что произошло это у меня после обновления офиса до версии RU-EN(ранее была только RU). Странно все это, конечно. Если бы это было ошибкой библиотеки контрола - была бы хоть какая-то ошибка при запуске проекта(как правило "Could not load an object because it is not available on this machine"). Поэтому я решил удалить старый контрол RefEdit из Tollbox и добавить его заново. И, о чудо! Ничего не случилось. Контрол есть в Toolbox, но нет в файле. Что интересно - при попытке самому добавить на любую форму данный контрол появлялось сообщение "Субъект не имеет доверия для выполнения указанного действия":
Ошибка
Первое, что я сделал, это посмотрел в реестре, зарегистрирован ли данный компонент и все ли там на месте. Я использовал утилиту "oleview" от Microsoft, которая позволяет просмотреть все компоненты на ПК. В реестре он присутствовал и вроде все регистрационные данные были верными. Тогда я скопировал его CLSID и решил посмотреть есть ли он среди доверенных компонентов ActiveX в ветках реестра:

HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Office\Common\Security
HKEY_CURRENT_USER\Software\Microsoft\VBA\Security

Вроде бы все нормально. Зашел до кучи в эти ветки:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Common\COM Compatibility\

Изначально там было значение 400. Заменил на 0. Ничего не поменялось, ошибка не исчезла.
Потратив еще часок на это недоразумение меня посетила мысль начать с самого простого: настройки Excel(Excel 2010). Я зашел в:

Файл -Параметры -Центр управления безопасностью -Параметры центра управления безопасностью -Параметры ActiveX

в Excel 2007 этот параметр расположен в:

Меню -Параметры Excel -Центр управления безопасностью -Параметры центра управления безопасностью -Параметры ActiveX

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

И вот тогда все заработало. Как же оказывается все просто. А я, дурак, лез в реестр, искал, копошил, сверял...Хотя, надо сказать в свое оправдание, что было уже такое, когда Microsoft выпустила обновление системы KB960715. Некоторые контролы вели себя таким же образом после данного обновления и устранить можно было только через реестр. Кстати, для Excel 2003 эта проблема решается вообще только через правку реестра(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Common\Security - установить параметр UFIControls в 6, а параметр DisableAllActiveX - 0). Более подробно про правку реестра для Excel 2003 можно почитать на офф.сайте Microsft - http://support.microsoft.com/kb/827742
Надеюсь, эта статья поможет еще кому-нибудь для решения данной проблемы.


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

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

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

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


Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Логин
Наши партнеры
Перейти
Перейти
Счетчики
Анализ сайта

Яндекс.Метрика
© 2016 Excel для всех  Войти