Activex как включить в excel

Обновлено: 04.07.2024

из других форумов я узнал, что это связано с обновлением MS и что хорошее исправление-просто удалить файл MSForms.exd из любой подпапки Temp в профиле пользователя. Например:

конечно, приложение (Excel, Word. ) должен быть закрыт для удаления этого файла.

вот лучший ответ, который я нашел в блоге группы поддержки Microsoft Excel

  1. на полностью обновленной машине и после удаления .exd файлы, откройте файл в Excel с правами редактирования.

    открыть Visual Basic для приложений > изменить проект, добавив комментарий или редактирование в любой модуль кода > отладка > компиляция Виде vbaproject.

    сохранить и снова открыть файл. Тест на разрешение. Если решение принято, предоставьте этот обновленный проект дополнительные пользователи.

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

Он был KB2553154. Microsoft необходимо выпустить исправление. Как разработчик приложений Excel мы не можем перейти на все компьютеры наших клиентов и удалить файлы с них. Нас обвиняют в том, что Microsoft вызвала.

Я разработчик Excel, и я определенно почувствовал боль, когда это произошло. К счастью, мне удалось найти обходной путь, переименовав MSForms.файлы exd в VBA даже когда Excel работает, который также может устранить проблему. Разработчики Excel, который нужно распространять свои электронные таблицы можете добавить следующий код VBA в свои таблицы, чтобы сделать их невосприимчивыми к обновление МС.

поместите этот код в любом модуле.

подпрограмма RenameMSFormsFiles пытается переименуйте MSForms.exd файлы в C:\Users\[user.name]\AppData\Local\Temp\Excel8.0\ и C:\Users\[user.name]\AppData\Local\Temp\VBE\ папки в MSForms-копировать.exd.

затем вызовите подпрограмму RenameMSFormsFiles в самом начале события Workbook_Open.

электронная таблица попытается переименовать MSForms.exd файлы, когда он откроется. Очевидно, что это не идеальное решение:

  1. пострадавший пользователь по-прежнему будет испытывать ошибки управления ActiveX при запуске кода VBA при первом открытии электронная таблица. Только после выполнения кода VBA один раз и перезапуска Excel проблема устранена. Обычно, когда пользователь сталкивается со сломанной электронной таблицей, реакция коленного рывка-закрыть Excel и попытаться снова открыть электронную таблицу. :)
  2. В MSForms.файлы exd переименовываются каждый раз, когда открывается электронная таблица, даже если нет проблем с MSForms.файлы с расширением EXD. Но электронная таблица будет работать просто отлично.

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

я опубликовал это решение здесь.

С Windows 8.1 я не смог найти .exd файлы с помощью поиска windows. С другой стороны, команда cmd dir *.exd /S нашел один файл в моей системе.

советы в КБ и выше не работает для меня. Я обнаружил, что если один пользователь Excel 2007 (с обновлением безопасности или без него; не уверен в точных обстоятельствах, которые вызывают это) сохраняет файл, возвращается исходная ошибка.

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

упрощенные инструкции для конечных пользователей. Не стесняйтесь копировать / вставлять следующее.

  1. закройте все программы и файлы Office.
  2. откройте Проводник Windows и введите %TEMP% в адресную строку, затем нажмите Enter. Это приведет вас в системную временную папку.
  3. найдите и удалите следующие папки: Excel8.0, VBE, Word8.0
  4. теперь попробуйте снова использовать свой файл, он не должно быть никаких проблем.

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

лучший источник информации и обновлений по этому вопросу, который я мог найти, находится в блогах TechNet " блог группы поддержки Microsoft Excel (Как уже упоминалось):

в марте 2015 года было выпущено исправление в дополнение к автоматическому исправлению и ручным инструкциям, и он также доступен в Центре обновления Windows.

статус: обновление 10 марта 2015:

исправления этой проблемы были выпущены в марте 2015 г. обновления для Office 2007, 2010 & 2013.

Общая информация о проблеме:

руководство и дополнительные решения:

сценарии решения:

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

  1. на полностью обновленной машине и после удаления .exd файлы, откройте файл в Excel с правами редактирования.

  2. открыть Visual Basic для приложений > изменить проект, добавив комментарий или редактирование в любой модуль кода > Отладка > Компиляция VBAProject.

  3. сохранить и снова открыть файл. Тест на разрешение.

Я, наконец, нашел этот ответ на официальном Microsoft KB:

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

Я знаю, что многие ответы уже были опубликованы для этого, но ни один ответ независимо не работал для моего сайта. Итак, вот что сработало для меня:

Шаг 1: Удалите следующие обновления-KB2920789, KB2920790, KB2920792, KB2920793, KB2984942, KB2596927

Шаг 2: скрыть эти обновления, чтобы они не были установлены при последующих перезагрузках

Шаг 3: удалить папку Excel8.0 из C:\Users\\AppData\Local\Temp

Шаг 4: Перезагрузите workstatiion (я также хотел бы убедиться, что вышеупомянутый KBs не был непреднамеренно применен)

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

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

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

Компьютер содержит не только различные элементы управления формы, но и ActiveX, установленные Excel и другими программами, такими как Calendar Control 12.0 и проигрыватель Windows Media. При установке новых ActiveX элементов управления программа установки обычно регистрирует каждый из них на компьютере, что делает его доступным для Excel. Если его нет в списке, необходимо зарегистрировать его вручную.

Чтобы можно было работать с другими ActiveX, необходимо включить на ленте вкладку "Разработчик". Дополнительные сведения см. в статье Отображение вкладки "Разработчик".

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

Щелкните на том месте, где должен отображаться ActiveX.

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

Чтобы задать свойства элементов управления, на вкладке Разработчик в группе Элементы управления нажмите кнопку Свойства.

Совет: Можно также щелкнуть элемент управления правой кнопкой мыши и выбрать пункт Свойства.

Откроется диалоговое окно Свойства. Для получения дополнительных сведений о каждом свойстве выберите свойство и нажмите клавишу F1, чтобы отобразить соответствующий раздел справка по Visual Basic. Можно также ввести имя свойства в поле Поиск справки Visual Basic.

Щелкните ActiveX, который вы хотите зарегистрировать.

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

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

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

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

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

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

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

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

Общие сведения о формах

Форма (печатная или веб-версия) — это документ со стандартной структурой и форматированием, который упрощает сбор, у упорядочение и редактирование сведений.

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

Веб-формы содержат те же функции, что и печатные формы. Кроме того, веб-формы содержат элементы управления. Элементы управления — это объекты, которые отображают данные или упрощают ввод или изменение данных, выполнение действия или выбор данных. Как правило, элементы управления упрощают работу с формой. Примерами часто используемых элементов управления являются списки, переключатели и кнопки. Элементы управления также могут запускать назначенные им макросы и реагировать на события, например щелчки мышью, путем выполнения кода Visual Basic для приложений (VBA).

Создавать печатные Excel веб-формы можно несколькими способами.

Типы форм Excel

В Excel можно создавать формы нескольких типов: формы данных, листы с элементами управления формы и ActiveX, а также пользовательские формы VBA. Каждый из этих типов формы можно использовать по отдельности или сочетать с другими типами для создания нужного решения.

Форма данных

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

Excel может автоматически создать встроенную форму данных для диапазон или таблица. Такая форма представляет собой диалоговое окно, в котором все заголовки столбцов отображаются в виде подписей. Каждой подписи соответствует текстовое поле, в которое можно вводить данные для столбца (максимальное количество столбцов — 32). В форме данных можно вводить новые строки, находить строки путем навигации или (на основе содержимого ячейки) обновлять строки и удалять их. Если ячейка содержит формула, ее результат отображается в форме данных, но саму формулу в форме данных изменить нельзя.

Лист с формой и элементами ActiveX

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

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

Элементы управления и объекты хранятся на полотне, и поэтому их можно отображать и просматривать одновременно со связанным текстом, не зависящим от границ строк и столбцов, без изменения макета сетки или таблицы данных на листе. В большинстве случаев многие из этих элементов управления можно также связать с ячейками на листе, а для их нормальной работы не требуется создавать код VBA. Можно задать свойства, определяющие, является ли элемент управления свободно перемещаемым или перемещается и изменяет размеры вместе с ячейкой. Например, может потребоваться, чтобы флажок перемещался вместе со связанной ячейкой при сортировке диапазона. С другой стороны, если нужно, чтобы список всегда отображался в одном и том же месте, нежелательно, чтобы он перемещался вместе с ячейкой.

В Excel поддерживаются два типа элементов управления: элементы управления форм и элементы ActiveX. Кроме этих наборов элементов управления, вы также можете добавлять объекты из средств рисования, такие как автофигуры, объект WordArt, графические элементы SmartArt или текстовые поля.

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

Элементы управления формы

Элементы управления формы появились в Excel раньше всего и поддерживаются в предыдущих выпусках Excel (начиная с версии 5.0). Их также можно использовать на листах макросов XLM.

Элементы управления формы используются, если вы хотите легко ссылаться на данные ячеок и взаимодействовать с ними, не используя код VBA, а также добавлять их на листы диаграмм. Например, после добавления элемента управления "список" на лист и связывания его с ячейкой можно вернуть числовые значения для текущего положения выбранного элемента управления. Затем можно использовать это число в сочетании с функцией ИНДЕКС для выбора различных элементов в списке.

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

Однако эти элементы управления невозможно добавить в пользовательские формы, использовать для управления событиями или изменить для запуска веб-сценариев на веб-страницах.

В наших статьях мы подробно рассмотрим практические примеры, связанные с использованием программирования, которое заложено в Microsoft Office. Оно основывается на языке VBA, название которого в полном виде выглядит так Visual Basic for Application. Учитывая, что все рассматриваемые разработки будут использовать VBA, наша первоочередная задача познакомиться сданным языком.

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

Рис. 1.4. Закладка Основные окна Параметры Excel

Рис. 1.4. Закладка Основные окна Параметры Excel

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

И в качестве первого шага необходимо в окне, показанном на рис. 1.2, щелкнуть кнопкой Параметры Excel. В результате перед вами откроется новое окно с набором закладок. Здесь на закладке Основные следует сделать установку для отображения на ленте вкладки Разработчик, что реализуется с помощью флажка Показывать вкладку «Разработчик» на ленте (рис. 1.4).

В Microsoft Excel элементы ActiveX можно размещать и на пользовательских формах, и на самих рабочих листах (на верхнем графическом слое, где располагаются рисунки, диаграммы и другие объекты). Часто вставка нескольких элементов ActiveX значительно упрощает работу с данными на рабочем листе. Все элементы управления делятся на две группы: элементы управления формами и элементы управления ActiveX. Оба набора элементов управления имеют свои преимущества и недостатки. В общем случае элементы управления формами проще в применении, но зато элементы ActiveX являются более гибкими. В наших примерах мы будем использовать исключительно элементы ActiveX.

В результате окно приложения Microsoft Excel дополнится новыми пиктограммами, которые нам потребуются в дальнейшем (рис. 1.5). Среди тех, которыми мы будем активно пользоваться на протяжении всей книги, отметим пиктограмму с надписью Вставить. С се помощью на рабочем листе можно размещать элементы ActiveX, которые существенно дополняют функциональность книг Microsoft Excel. Они типичны для различных приложений Windows (речь идет о кнопках, полосах прокрутки, текстовых окнах, переключателях, списках и т. д.). Кроме пиктограммы Вставить мы будем активно пользоваться и другими присутствующими на ленте Режим конструктора, Свойства, Visual Basic и Макросы.

Перед тем как начать какие-либо действия с тем или иным элементом ActiveX, его необходимо поместить на рабочий лист. Это легко выполнить, если воспользоваться пиктограммой Вставить. На рис. 1.6 показано размещение на рабочем листе элемента ActiveX Кнопка.

Рис. 1.5. Отображение вкладки Разработчик на ленте

Рис. 1.5. Отображение вкладки Разработчик на ленте

При наведении курсора мыши на пиктограмму элемента ActiveX Кнопка в качестве подсказки появляется еще один вариант его названия: элемент управления «Кнопка». Далее по тексту мы будем использовать оба варианта названия — элементы ActiveX и элементы управления.

Для того чтобы перенести элемент ActiveX на рабочий лист, необходимо щелкнуть на панели инструментов на его пиктограмме левой кнопкой мыши и далее переместить курсор мыши на рабочий лист. Курсор мыши примет вид, аналогичный математическому знаку «плюс». Теперь следует нажать левую кнопку мыши и, не отпуская ее, переместить мышь вправо и вниз, а затем отпустить ее левую кнопку. В результате на рабочем листе мы увидим изображение появившегося элемента ActiveX, окруженного маркерами (рис. 1.6).

Рис. 1.6. Размещение кнопки на рабочем листе в режиме конструктора

Рис. 1.6. Размещение кнопки на рабочем листе в режиме конструктора

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

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

Важно отметить, что после размещения элемента ActiveX на рабочем листе, в нашей книге (можно даже сказать — на данном листе книги) появился новый элемент, который фактически представляет собой «программный» объект. Аналогичным образом на рабочих листах книг Excel можно размещать и другие элементы ActiveX.

Рис. 1.7. Вид рабочего листа при выходе из режима конструктора

Рис. 1.7. Вид рабочего листа при выходе из режима конструктора

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

Читайте также: