Получите сведения о работе с элементами ActiveX в файлах, изменении их параметров, а также о включении и отключении их с помощью панели сообщений и центра управления безопасностью. Кроме того, вы можете получить дополнительные сведения об элементах ActiveX и о том, как они позволяют улучшить файлы.
ИТ-специалисты могут найти дополнительные сведения о планировании элементов ActiveX в статье TechNet Планирование параметров безопасности для элементов управления ActiveX в приложениях Office 2010.
В этой статье
-
Включение элементов ActiveX при появлении панели сообщений
-
Включение элементов ActiveX на один раз при появлении предупреждения системы безопасности
-
Изменение параметров элементов ActiveX в Word, Access, Excel, PowerPoint, Publisher и Visio
-
Описание параметров элементов ActiveX
-
Что представляет собой элемент ActiveX, и какие риски с ним связаны
-
Риск и возможные последствия
Включение элементов 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, чтобы управлять компьютером, нежелательные последствия могут быть весьма серьезными.
К началу страницы
Содержание
- — Как отключить ActiveX?
- — Как отключить ActiveX в Windows 10?
- — Что такое ActiveX в Word?
- — В чем разница между устаревшими формами и элементами управления ActiveX в Word?
- — Стоит ли отключать ActiveX?
- — Как узнать, включен ли ActiveX?
- — Какая замена ActiveX?
- — Как мне запретить Windows блокировать неизвестных издателей?
- — Для чего используется элемент управления ActiveX?
- — Что такое вирус ActiveX?
- — Как вы используете ActiveX?
- — В чем разница между ActiveX и элементами управления формы?
- — Что такое элементы управления формой?
- — Какие существуют типы элементов управления формами?
Отключить фильтрацию ActiveX для отдельных сайтов
- Откройте Internet Explorer и перейдите на сайт, на котором вы хотите разрешить запуск элементов ActiveX.
- Нажмите кнопку «Заблокировано» в адресной строке, а затем выберите «Отключить фильтрацию ActiveX».
Как отключить ActiveX в Windows 10?
Отключить запросы управления ActiveX
Для этого нажмите кнопку «Инструменты» в Internet Explorer и выберите «Свойства обозревателя». Выберите параметр «Другой», чтобы открыть окно, показанное непосредственно ниже. Затем прокрутите вниз до автоматического запроса ActiveX опцию управления и выберите Отключить.
Что такое ActiveX в Word?
ActiveX — это технология, созданная Microsoft, которая позволяет различным программным приложениям обмениваться информацией и функциями. ActiveX работает только с приложениями Microsoft, такими как Word, Excel, Internet Explorer и PowerPoint, и будет работать только на компьютере под управлением операционной системы Windows.
В чем разница между устаревшими формами и элементами управления ActiveX в Word?
Устаревшие элементы управления лучше всего подходят, если вы собираетесь собирать данные из формы в файле с текстовыми разделителями. Они работают только тогда, когда вы защищаете документ. Другие преимущества включают простой переход между полями и закрашивание редактируемых полей. Элементы ActiveX лучше всего подходят для веб-страница и им для работы требуются макросы.
Стоит ли отключать ActiveX?
Элементы управления ActiveX, как и другие надстройки, предназначены для улучшения работы в Интернете. И, как и другие дополнения, иногда этого не происходит. Хорошая новость в том, что вы можете отключить их. Если единственная причина, по которой вы пытаетесь избавиться от элемента управления ActiveX, заключается в том, что вы думаете, что это угроза безопасности, не беспокойтесь.
Как узнать, включен ли ActiveX?
Чтобы проверить, включен ли ActiveX:
Перейдите на http://www.cyscape.com/showbrow.aspx. (Обратите внимание, что это внешний сайт, не связанный с Webex). Результаты теста: если вы видите текущую дату и время, ActiveX и сценарии работают правильно.
Какая замена ActiveX?
Потребность в элементах управления ActiveX значительно снизилась благодаря возможностям эпохи HTML5, которые также позволяют создавать код, совместимый с различными браузерами. Microsoft Edge будет поддерживать собственный рендеринг PDF и Adobe Flash как встроенные функции, а не внешние надстройки.
Как мне запретить Windows блокировать неизвестных издателей?
Вариант 1 — По одному сайту (безопасный)
- В Internet Explorer нажмите «Сервис» (шестеренка)> «Свойства обозревателя».
- Выберите вкладку «Безопасность».
- В «Выберите зону для просмотра или изменения параметров безопасности» выберите «Надежные сайты».
- Переместите ползунок «Уровень безопасности для этой зоны» вниз до «Низкий», затем нажмите «Применить».
- Нажмите кнопку «Сайты».
Для чего используется элемент управления ActiveX?
Что такое элементы управления ActiveX? Элементы управления ActiveX — это небольшие программы, иногда также называемые «надстройками», которые используются в интернет. Они могут сделать просмотр более приятным, разрешив анимацию, или могут помочь с такими задачами, как установка обновлений безопасности в Центре обновления Windows.
Что такое вирус ActiveX?
Вирусы ActiveX. ActiveX — это вирус, встроенный в ваш браузер. Если он у вас включен, он позволяет любой просматриваемой вами веб-странице получить полный контроль над вашим компьютером и извлекать любую информацию или вставлять любые инструкции, которые хочет обслуживающий веб-сайт.
Как вы используете ActiveX?
Добавить элемент ActiveX
- На вкладке Разработчик в группе Элементы управления щелкните Вставить, а затем в разделе Элементы управления ActiveX выберите элемент управления или щелкните Дополнительные элементы управления, чтобы просмотреть все доступные элементы управления ActiveX, а затем выберите элемент управления.
- Щелкните место на листе, где вы хотите разместить элемент управления ActiveX.
В чем разница между ActiveX и элементами управления формы?
Как сказал Ханс Пассант, элементы управления формы встроены в Excel, тогда как Элементы ActiveX загружаются отдельно. Обычно вы будете использовать элементы управления Forms, они проще. Элементы управления ActiveX обеспечивают более гибкий дизайн и должны использоваться, когда работа просто не может быть выполнена с помощью базового элемента управления Forms.
Что такое элементы управления формой?
Форма — это компонент веб-страницы, который имеет элементы управления формой, такие как текстовые поля, кнопки, флажки, элементы управления диапазоном, или палитры цветов. Пользователь может взаимодействовать с такой формой, предоставляя данные, которые затем могут быть отправлены на сервер для дальнейшей обработки (например, для возврата результатов поиска или вычислений).
Какие существуют типы элементов управления формами?
Элементы управления HTML-формы
- Элементы управления вводом текста.
- Флажки Элементы управления.
- Органы управления радиоблоком.
- Выберите Box Controls.
- Поля выбора файла.
- Скрытые элементы управления.
- Кнопки с возможностью нажатия.
- Кнопка отправки и сброса.
Интересные материалы:
Есть ли бесплатные шаблоны Joomla?
Есть ли бесплатный способ слушать аудиокниги?
Есть ли беспроводной контроллер Xbox для ПК?
Есть ли безлимитные мобильные данные?
Есть ли блочный шифр AES?
Есть ли блокировщик рекламы для Safari?
Есть ли большая разница между GTX 1050 и 1050 TI?
Есть ли бритва, которая оставляет щетину?
Есть ли будущее у IOTA?
Есть ли быстрая зарядка A02s?
Permalink
Cannot retrieve contributors at this time
| title | ms.prod | ms.assetid | ms.date | ms.localizationpriority |
|---|---|---|---|---|
|
Using ActiveX Controls on Word Documents |
word |
529119ff-9108-70cf-d692-ec1fbb37e157 |
06/08/2019 |
medium |
You can add controls to your documents to create interactive documents, such as online forms. For general information about adding and working with controls, see Using ActiveX controls on a document and Creating a custom dialog box.
Remember the following points when you work with controls on documents:
-
You can add ActiveX controls to the text layer or drawing layer of the document. To add a control to the drawing layer, click the control on the Control Toolbox. To add a control to the text layer, hold down the SHIFT key while you click a control on the Control Toolbox.
-
A control that you add to the text layer is an InlineShape object, to which you gain access programmatically through the InlineShapes collection. A control that you add to the drawing layer is a Shape object, to which you gain access programmatically through the Shapes collection.
-
Controls in the text layer are treated like characters and are positioned as characters within a line of text.
-
In design mode, ActiveX controls in the drawing layer are visible only in print layout view or Web layout view.
-
If you want the user to use the ActiveX controls but not change the layout of the document, protect the document by clicking the Protect Form button on the Forms toolbar.
-
Microsoft Word implements the LostFocus and GotFocus events for ActiveX controls on a document. The other events listed in the Procedure drop-down list box are documented in Microsoft Forms Help. For more information about using events with ActiveX controls, see the Control and dialog box events and the Using events with ActiveX controls topics.
-
If you want to add form fields instead of ActiveX controls to your document to create an online form, use the Forms toolbar.
-
The Me keyword in an event procedure for an ActiveX control on a document refers to the document, not to the control.
Writing event code for controls on documents is very similar to writing event code for controls on forms. The following SpinUp and SpinDown event procedures change the value of the TextBox control named «TextBox1» on the document where the SpinButton control named «SpinButton1» resides. The text box value is decreased by one when the user clicks the lower spin-button arrow or the left spin-button arrow and is incremented by one when the user clicks the upper spin-button arrow or the right spin-button arrow.
Private Sub SpinButton1_SpinDown() Me.TextBox1.Value = Me.TextBox1.Value - 1 End Sub
Private Sub SpinButton1_SpinUp() Me.TextBox1.Value = Me.TextBox1.Value + 1 End Sub
The following Click event procedure switches to print view and sets the magnification to 100 percent for the document where the command button named «cmdChangeView» resides.
Private Sub cmdChangeView_Click() With Me.ActiveWindow.View .Type = wdPrintView .Zoom.Percentage = 100 End With End Sub
[!includeSupport and feedback]
Андрей Колесов, Ольга Павлова
- Добавление
элементов управления к документу - Размещение
элемента управления в документе - Преимущества
слоя рисования - Преимущества текстового слоя
- Добавление нестандартных элементов управления
- Сравнительный анализ элементов управления ActiveX
и полей форм - Редактирование элементов управления
в режиме разработки - Установка свойств
- Свойства,
недоступные элементам управления в документах - Добавление
кода - Уникальные события для элементов управления
в документах - Уникальные методы для элементов
управления в документах - Использование элементов
управления в режиме выполнения - Установка исходных
значений с помощью события Open или New - Шаблоны
и ссылки - Проверка данных
- Использование
переключателей - Сохранение значений
- Использование
коллекций InlineShapes и Shapes - Различия между
элементами управления и другими объектами Shape и InlineShape - Выделение
конкретного типа элементов управления - Добавление
и удаление элементов управления программным образом - Создание
и добавление к документу элемента управления ActiveX - Написание
кода для пользовательского элемента управления ActiveX
В этой статье
мы рассмотрим некоторые вопросы использования элементов управления ActiveX (ранее
называемых OCX) в документах Microsoft Word. Элементы управления ActiveX — это
компоненты, которые используются для создания пользовательских диалоговых окон.
С их помощью ваши документы приобретают свойства диалоговых окон, например вы
можете добавлять командные кнопки для выполнения каких-либо процедур.
В целом
элементы управления работают в документах точно так же, как и в пользовательских
диалоговых окнах. Однако поскольку документ отличается от диалогового окна, некоторые
свойства, методы и события, принадлежащие элементам управления, ведут себя в документах
иначе. Кроме того, для вставки элемента управления в документ используется панель
инструментов Control Toolbox, входящая в состав Word, а не панель из Visual Basic
Editor. В самом документе Word элемент управления ведет себя также по-разному
в зависимости от того, где он находится — в текстовом слое или в слое рисования.
И наконец, если элементы управления располагаются внутри документа Word, то у
пользователя есть возможность программного доступа к ним с помощью коллекции InlineShapes
или Shapes.
Примечание. Стандартные элементы управления Word ActiveX,
включенные в состав панели инструментов Control Toolbox, не предназначены для
использования в HTML-документах. Для создания документов, содержащих элементы
управления ActiveX для Web, следует воспользоваться шаблонами, которые находятся
во вкладке Web Pages диалогового окна New. При активизации документа, основанного
на одном из этих шаблонов, на экран выводится дополнительная версия панели инструментов
Control Toolbox, которая включает Web-версии стандартных элементов управления.
В начало статьи
Добавление
элементов управления к документу
Как уже говорилось, для добавления элементов
управления к документу используется панель инструментов Control Toolbox. Она содержит
тот же набор стандартных элементов управления, что и панель Toolbox в редакторе
Visual Basic, за исключением элементов управления Frame, TabStrip и MultiPage,
которые используются только в диалоговых окнах. Кроме того, панель инструментов
Control Toolbox содержит кнопку More Controls, предназначенную для добавления
новых элементов управления.
Рис. 1
Для вывода на экран панели инструментов Control Toolbox
выберите команду Toolbars из меню View, а затем щелкните элемент списка Control
Toolbox. Чтобы увидеть название конкретного элемента управления на этой панели,
установите на нем курсор мыши (рис. 1).
В начало
статьи
Размещение элемента управления в документе
Элементы управления могут находиться либо в слое рисования (устанавливаются по
умолчанию), либо в текстовом слое документа. Чтобы добавить элемент управления:
- к слою рисования — щелкните его на панели инструментов Control Toolbox;
- к текстовому слою — удерживая нажатой клавишу Shift, щелкните его на панели
инструментов Control Toolbox.
Как только вы вставили элемент управления
в документ, можете менять его местоположение и размеры. Обратите внимание, что
вы не можете пользоваться двойным щелчком по кнопке на панели инструментов Control
Toolbox, чтобы вставить несколько элементов управления.
При добавлении элемента
управления в текстовый слой он помещается в точке нахождения курсора. Такие элементы
управления обрабатываются как символы, а также располагаются как символы внутри
строки текста.
При добавлении элемента управления в слое рисования его местоположение
определяется точкой нахождения курсора, но может и не совпадать с ней. Если вы
добавляете несколько элементов управления, не двигая курсор, все они будут помещаться
в одно и то же место поверх друг друга, так что будет виден только последний из
них.
В начало статьи
Преимущества слоя рисования
- Элемент управления может быть помещен
в любое место документа. Для этого надо просто перетащить его. Например, вы можете
захотеть расположить его в «белой части» документа, т.е. за рамками текста. - Элементы
управления легко компонуются с другими визуальными элементами, созданными с помощью
средств рисования.Например, можно нарисовать диаграмму, а затем поместить в нее
элементы управления, щелкая которые пользователь будет получать дополнительную
информацию. - Элементы управления можно сделать невидимыми при печати документа.
Для этого необходимо сбросить флажок Drawing objects во вкладке Print диалогового
окна Options.
В начало статьи
Преимущества текстового слоя
Если вы используете элементы управления
для создания интерактивной формы, то их следует расположить в текстовом слое.
Последний обладает следующими преимуществами:
- пользователь обладает возможностью
пользоваться клавишей Tab для перемещения между элементами управления (при этом
документ должен быть защищен); - элемент управления можно поместить в таблицу,
где он будет обрабатываться как любой другой символ внутри ячейки; - в защищенном
документе элементы управления, находящиеся в текстовом слое, сохраняют свою функциональность,
в отличие от тех элементов управления, которые располагаются в слое рисования
и становятся недоступными; - переключатели работают надежно, только если они
располагаются в текстовом слое.
Рис. 2
Совет. Команду Format Control можно использовать
либо для определения того, в каком слое находится элемент управления, либо для
перемещения его из одного слоя в другой. В режиме разработки щелкните правой кнопкой
мыши элемент управления, а затем выберите команду Format Control. Во вкладке Position
установите флажок Float over text, чтобы поместить элемент управления в слой рисования,
и сбросьте флажок, чтобы поместить его в текстовый слой (рис. 2). При написании
кода для перемещения элементов управления из одного слоя в другой можно использовать
методы ConvertToInlineShape и ConvertToShape. Элементы управления, расположенные
в текстовом слое, содержатся в объектах InlineShape, а расположенные в слое рисования
— в объектах Shape.
В начало статьи
Добавление нестандартных элементов управления
Чтобы добавить элементы
управления, не входящие в стандартный набор Control Toolbox, используйте кнопку
More Controls на панели инструментов Control Toolbox. На экране появится список
элементов управления, зарегистрированных в системе. Длина данного списка зависит
от того, что вы установили на свой компьютер. Для регистрации нового элемента
управления щелкните Register Custom Control в конце списка.
Один только факт,
что элемент управления содержится в списке, не означает, что он работает в документе
Word. Некоторые из элементов управления, содержащиеся в списке, не предназначены
для работы в документах. Например, если поместить в документ элементы управления
MultiPage и TabStrip, то они не произведут никакого действия.
При запуске
другой части элементов управления появится такое сообщение об ошибке: «The server
application, source file, or item cannot be found. Make sure the application is
properly installed, and that it has not been deleted, moved, or renamed.» В действительности
такое сообщение обозначает, что Word просто не распознает какой-либо элемент управления,
а не то, что его нельзя найти или он не зарегистрирован.
Word придерживается
более ранней версии стандарта элементов управления ActiveX и требует таких служебных
функций (services), которые некоторыми элементами управления ActiveX просто не
поддерживаются. Word не поддерживает элементы управления, включенные в пакет Microsoft
ActiveX Internet Controls или средства Microsoft Office 97 Developer Edition.
Тем не менее можно безошибочно использовать элементы управления, созданные при
помощи Visual Basic 5.0 и Visual Basic Control Creation Edition, или элементы
управления, предназначенные для Visual Basic 4.0.
В
начало статьи
Сравнительный анализ элементов управления
ActiveX и полей форм
Word включает в себя три поля формы — окно текста,
флажок и раскрывающийся список, некоторые из возможностей которых присутствуют
в элементах управления ActiveX. Поэтому возникает следующий вопрос: вытесняют
ли элементы управления ActiveX поля форм или последние все еще имеют свои области
применения?
В общем случае элементы управления ActiveX обладают более богатыми
функциональными возможностями по сравнению с полями форм. Тем не менее последние
по-прежнему актуальны для форм, которые заполняются в интерактивном режиме, а
затем выводятся на печать. Тогда текст, содержащийся в полях форм, сохраняется
в печатном документе, но при этом не остается никакого следа от самих полей форм.
(Исключение составляет поле формы «флажок», но оно является обычным элементом
печатной формы.)
В противоположность полям форм элементы управления ActiveX
не исчезают при печати. Они выглядят одинаково как и в печатном документе, так
и на экране. Например, печатная версия документа, содержащего элемент управления
«окно текста», включает в себя не только текст в текстовом окне, но и само окно
вокруг текста.
В начало статьи
Редактирование элементов управления в режиме разработки
Для редактирования
элементов управления внутри документа необходимо находиться в режиме разработки
(тогда элементы управления не реагируют ни на какие события). Чтобы переключиться
в этот режим, щелкните кнопку Design Mode либо на панели Control Toolbox, либо
на панели Visual Basic. Следует помнить, что как только вы добавили к документу
элемент управления с помощью панели инструментов Control Toolbox, вы автоматически
переключаетесь в режим разработки. Для выхода из этого режима следует щелкнуть
кнопку Exit Design Mode на панели Visual Basic (рис. 3).
Рис. 3
В начало статьи
Установка свойств
Для установки свойств элемента управления используется
окно Properties — так же, как и в редакторе Visual Basic. Сначала вы выбираете
элемент управления, у которого будете менять свойства, а затем щелкаете кнопку
Properties для вывода одноименного окна (если его еще нет на экране).
Внимание!
Кодовое имя элемента управления, устанавливаемое с помощью свойства (Name),
автоматически изменяется при перемещении этого элемента управления из текстового
слоя в слой рисования и наоборот. Например, если элемент управления имеет имя
chkMyCheckBox, то при перемещении его из слоя рисования в текстовый слой Word
добавит символ «1» к его имени, так что оно превратится в chkMyCheckBox1. Теперь
любой код, написанный для chkMyCheckBox, не связан с этим элементом управления.
Чтобы уберечь себя от возможных неприятностей, старайтесь не перемещать элемент
управления из одного слоя в другой, если вы уже написали для него какой-либо код.
В начало статьи
Свойства,
недоступные элементам управления в документах
Ниже приведен список свойств,
которыми обладают элементы управления, если они находятся в формах, и которые
недоступны внутри документов. Возможности, связанные с данными свойствами, также
недоступны в документах.
| Свойство | Функция |
| ControlSource | Связывает элемент управления с ячейками или полем |
| ControlTipText | Добавляет к элементу управления совет, который выводится на экран |
| HelpContextID | Связывает элемент управления с определенной темой Справки |
| TabIndex | Устанавливает элемент управления по порядку прохождения, принятому в форме |
| TabStop | Разрешает или запрещает использовать клавишу Tab для перехода к данному элементу управления |
| Tag | Устанавливает дополнительный идентификатор для элемента управления |
| Visible | Прячет или делает видимым элемент управления |
Порядок прохождения элементов управления, вставленных в текстовый
слой, определяется их порядком в документе. Это означает, что первый элемент управления,
встречающийся в документе, является первым, в который вы попадаете при перемещении
между элементами управления, второй — вторым и т.д. Обратите внимание, что возможность
перемещения между элементами управления существует только в защищенных документах.
Вы не можете использовать для перемещения клавишу Tab, если элементы управления
находятся в слое рисования.
В начало статьи
Добавление кода
Так же, как и в редакторе Visual
Basic, в документе Word можно дважды щелкнуть какой-либо элемент управления, и
на экран выведется окно кода и список процедур событий, доступных для этого элемента
управления. Чтобы попасть в окно кода, можно также щелкнуть кнопку View Code на
панели Control Toolbox.
В начало статьи
Уникальные события для элементов управления в документах
В документе
Word события Enter и Exit, связанные с элементами управления в формах, заменяются
на события GotFocus и LostFocus, а события AfterUpdate и BeforeUpdate являются
недоступными.
| Событие | Описание |
| GotFocus | Происходит при перемещении фокуса на внедренный элемент управления ActiveX |
| LostFocus | Происходит при потере фокуса внедренным элементом управления ActiveX |
В начало статьи
Уникальные методы
для элементов управления в документах
В следующей таблице приведены методы,
которые доступны элементам управления, размещенным в документах:
| Метод | Описание |
| Activate | Используется для активации или при установке фокуса на элементе управления |
| Delete | Удаляет элемент управления |
| Select | Выделяет элемент управления |
Методы Move, SetFocus и ZOrder, доступные элементам управления в формах,
отсутствуют в документах. Обратите внимание, что метод Activate заменяет собой
метод SetFocus.
В начало статьи
Использование элементов управления в режиме выполнения
При работе
с документами, содержащими элементы управления, вы сталкиваетесь с теми же вопросами,
что и при работе с диалоговыми окнами, а именно: инициализация элементов управления,
ответ на действия пользователя и сохранение установок данных. Фактически документ,
содержащий элементы управления, можно рассматривать как разновидность диалогового
окна. Открытие и закрытие документа равнозначно выводу на экран и закрытию диалогового
окна.
В начало статьи
Установка исходных значений с помощью события Open или New
При открытии
документа инициируется событие Open. Данное событие может использоваться точно
так же, как и событие Initialize при выводе диалогового окна. Это означает, что
вы можете устанавливать свойства по умолчанию для элементов управления, заполнять
списки и т.д. Окно списка и поле ввода со списком должны заново заполняться каждый
раз при открытии документа, поскольку их содержимое хранится только до тех пор,
пока документ открыт.
В следующем примере показано, как заполнить список из
двух колонок, в первой из которых содержатся названия закладок, а во второй —
первые 25 символов текста закладки:
Private Sub Document_Open() Const MAX_CHARTS As Integer = 25 ' Dim rowCount As Integer ' With Me.ListBox1 ' Если документ содержит закладки, то список ' заполняется их названиями и помеченным текстом, ' в ином случае - выдается сообщение If Me.Bookmarks.Count Then For Each bkmk In Me.Bookmarks rowCount = .ListCount .AddItem bkmk.Name .List(rowCount, 1) = Left(bkmk.Range, MAX_CHARS) Next Else .AddItem "Нет закладок" End If End With End Sub
Примечание. Ключевое слово Me относится здесь
к документу, который содержит элемент управления, а не к самому элементу управления.
Если вы работаете с шаблоном, то можете использовать событие New, которое инициируется
каждый раз при создании нового документа на базе этого шаблона.
В начало статьи
Шаблоны и ссылки
Элементы управления, размещенные в шаблоне, наследуются всеми основанными на нем
документами. Любой код, присоединенный к элементам управления шаблона, остается
в шаблоне, однако основанные на последнем документы ссылаются только на код шаблона.
Это означает, что если у вас есть несколько документов, основанных на одном шаблоне,
и вы хотите изменить способ действия элементов управления, необходимо модифицировать
код события в шаблоне так, чтобы изменить способ работы элементов управления во
всех документах.
Одним из следствий этого является то, что если ссылка документа
на шаблон нарушена или убрана, его элементы управления утрачивают свой код события
(поскольку у них нет доступа к шаблону, который содержит этот код). Один из способов
разрушить ссылку — это поместить документ в режим разработки (щелкнув кнопку Design
Mode на панели Control Toolbox). После того как документ побывал в режиме разработки,
ссылка на шаблон этого документа больше не работает, даже если в документе там
не было сделано никаких изменений.
Чтобы избежать подобной проблемы, можно
добавить следующий код к процедуре события New в шаблоне. Он сделает недоступными
панели Control Toolbox и Visual Basic:
Private Sub Document_New()
CustomizationContext = ActiveDocument.AttachedTemplate CommandBars("Control Toolbox").Enabled
= False CustomizationContext = ActiveDocument.AttachedTemplate CommandBars("Visual
Basic").Enabled = False End Sub
В начало
статьи
Проверка данных
Иногда бывает полезно
проверить данные, вводимые пользователями в текстовые поля или поля ввода со списком.
Такая проверка поможет вам убедиться, что это именно тот тип данных, который вам
необходим. Например, если у вас есть текстовое окно, в которое пользователь вводит
свой возраст, то вы можете проверить, является ли введенное число допустимым.
Обычно проверка данных осуществляется в тот момент, когда пользователь выходит
из элемента управления или когда он щелкает командную кнопку для ввода данных.
Для этого в пользовательском диалоговом окне можно использовать процедуру события
Exit элемента управления и в случае необходимости вернуть фокус в этот элемент
управления, если обнаружится несоответствие данных. В документе Word элементы
управления обладают событием LostFocus вместо события Exit. Разница между ними
состоит в том, что событие LostFocus нельзя использовать для возвращения фокуса
в элемент управления, связанный с этим событием.
Поэтому в документах Word
проверку данных лучше осуществлять в тот момент, когда пользователь закрывает
документ или вводит данные, щелкая командную кнопку. В следующем примере предполагается,
что документ содержит командную кнопку Submit, похожую на те, которые часто используются
в Web-страницах:
Private Sub cmdSubmit_Click() If Not IsNumeric(txtCustAge.Text) Then MsgBox "Пожалуйста, введите свой возраст" txtCustAge.Activate Exit Sub End If custAge = txtCustAge.Text End Sub
Если данные не являются числовыми,
активизируется текстовое окно txtCustAge — это означает, что в него переместился
фокус. Обратите внимание, что в документах Word используется метод Activate для
перемещения фокуса в элемент управления, а вот метод SetFocus, применяемый для
элементов управления, расположенных на форме, здесь недоступен.
Примечание.
Метод Activate нельзя использовать в документах, которые защищены для форм
(protected for forms). Исключение составляет случай, когда элемент управления
находится в незащищенной части документа.
В начало
статьи
Использование переключателей
Здесь
даются некоторые советы, необходимые вам при работе с переключателями в документах
Word:
- для правильной работы переключателей их следует поместить в текстовый
слой. Переключатели, помещенные в слой рисования, функционируют независимо друг
от друга, а не как часть группы, для чего они собственно и предназначаются; - для
объединения переключателей в группу используется свойство GroupName. В документе
Word вы не можете поместить переключатели внутрь элемента управления Frame. Обратите
внимание, что в панели Control Toolbox нет кнопки с элементом управления Frame.
В начало статьи
Сохранение значений
При закрытии документа содержащиеся в нем установки
элементов управления не сохраняются, если вы специально не написали для этого
код. Единственное исключение представляет собой текст, введенный в текстовое окно,
— он сохраняется вместе с документом. Это означает, что если пользователь вводит
какой-либо текст в текстовое окно и затем сохраняет и закрывает документ, то в
следующий раз при открытии этого документа текстовое окно будет содержать ту же
информацию.
Установки элемента управления можно сохранить с помощью процедуры
события Close для документа. Переменные документа Word предоставляют собой удобное
место для хранения установок, поскольку они содержатся внутри документа и поэтому
всегда путешествуют вместе с ним. Кроме того, переменные документа не могут изменяться
пользователем иначе как с помощью кода Visual Basic.
Переменные документа
не хранят значение Null, которое может возвращаться элементом управления «флажок»
с тремя состояниями (triple-state). Поэтому значение Null должно быть преобразовано
в подходящий эквивалент. Кроме того, когда переменная документа устанавливается
равной пустой строке («»), то она уничтожается. Поскольку пустое окно списка возвращает
пустую строку, вам необходимо протестировать ее и превратить во что-нибудь другое,
что может принять переменная документа.
Следующая процедура события Close
сохраняет установки элементов управления «флажок», «переключатель» и «текстовое
окно»:
Private Sub Document_Close() ' ' Помещает значение индекса
списка в переменную документа Me.Variables("lstBookMarks") = lstBookmarks.ListIndex
' ' Проверяет, есть ли значение Null в элементе управления ' "флажок" с тремя
состояниями If Not IsNull(chkReviewed.Value) Then Me.Variables("chkReviewed").Value
= chkReviewed.Value Else Me.Variables("chkReviewed").Value = "Null" End If ' '
Проверяет, есть ли пустая строка If txtReviewerName.Value <> "" Then Me.Variables("txtReviewerName").Value
= _ txtReviewerName.Value Else Me.Variables("txtReviewerName").Value = " " End
If End Sub
В начало статьи
Использование коллекций InlineShapes и Shapes
Обычно вы ссылаетесь
на элемент управления в документе по его кодовому имени — так же, как если бы
этот элемент управления находился на форме. Однако в документах Word существует
еще одна возможность доступа к элементам управления — через коллекции InlineShapes
и Shapes. Элемент управления, помещенный в текстовый слой, содержится в объекте
InlineShape, а элемент управления из слоя рисования — в объекте Shapes.
Почему
же имеет смысл ссылаться на элемент управления через одну из этих коллекций, когда
у вас есть возможность непосредственного доступа к нему по его кодовому имени?
Ответ здесь прост. Если вы хотите выполнить одновременную операцию со всеми элементами
управления, содержащимися в документе, или только несколькими из них, то имеет
смысл обратиться к ним через коллекции InlineShapes и Shapes.
Имя объекта
Shape или InlineShape, содержащего элемент управления ActiveX, отличается по умолчанию
от имени самого элемента управления. Это может звучать странно, но на практике
у вас редко возникает необходимость использовать имена объекта Shape или InlineShape.
Здесь необходимо обратить внимание, что объекты InlineShape и Shape могут
содержать рисунки, OLE-объекты и другие компоненты помимо элементов управления
ActiveX. Следующая строка кода выводит имя первого объекта Shape, встречающегося
в активном документе, который может содержать или не содержать первый элемент
управления из текстового слоя:
MsgBox ActiveDocument.Shapes(1).Name
А такая строка выводит кодовое имя элемента управления, содержащегося
в первом объекте InlineShape документа:
MsgBox ActiveDocument.InlineShapes(1).OLEFormat.Object.Name
Следует знать, что объект InlineShape или Shape имеет набор свойств,
отличающийся от свойств элемента управления, который содержится в этом объекте,
поэтому для доступа к свойствам элемента управления необходимо пройти через свойства
OLEFormat.Object.
В начало статьи
Различия между элементами управления и другими объектами Shape и InlineShape
Если вы хотите работать только с элементами управления ActiveX в документе, вы
можете шаг за шагом пройти через коллекцию Shapes или InlineShapes и проверить
значение свойства Type для каждого члена этой коллекции. Для объектов Shape свойство
Type элемента управления равно msoOLEControlObject, а для объектов InlineShape
— wdInlineShapeOLEControlObject.
Следующий пример выводит имена всех элементов
управления в слое рисования документа (другими словами, всех элементов управления
в коллекции Shapes):
For Each ct In ActiveDocument.Shapes If ct.Type = msoOLEControlObject Then MsgBox ct.Name Next
Вы можете задать
коллекцию ShapeRange, которая представляет все элементы управления ActiveX в слое
рисования документа и, таким образом, вам не надо будет проходить шаг за шагом
всю коллекцию Shapes каждый раз, когда возникнет необходимость работать с элементами
управления. При этом необходимо знать, что данный способ подходит только для тех
элементов управления, которые находятся в слое рисования (коллекция Shapes). Он
не годится для элементов управления из текстового слоя (коллекция InlineShapes),
поскольку коллекция ShapeRange не может включать в себя объекты InlineShape.
Следующая функция задает объект ShapeRange, который содержит все элементы управления
ActiveX из активного документа:
Private Function DefineControlShapeRange(objControlShapeRange _ As Word.ShapeRange) As Boolean ' Dim intShapeNum As Integer Dim intControlNum As Integer Dim objControl As Shape Dim sngControlWidth As Single Dim i As Integer Dim arrControls() ' With ActiveDocument.Shapes ' общее количество объектов в слое рисования intShapeNum = .Count If intShapeNum > 1 Then ' количество элементов управления ActiveX intControlNum = 0 ReDim arrControls(1 To intShapeNum) For i = 1 To intShapeNum If .Item(i).Type = msoOLEControlObject Then intControlNum = intControlNum + 1 ' заполняет массив элементами управления ActiveX arrControls(intControlNum) = .Item(i).Name End If Next If intControlNum > 1 Then ReDim Preserve arrControls(1 To intControlNum) ' задается объект ShapeRange на основе массива ' элементов управления ActiveX Set objControlShapeRange = .Range(arrControls) DefineControlShapeRange = True Exit Function End If End If End With DefineControlShapeRange = False End Function
Как только был создан объект ShapeRange, содержащий одни
элементы управления ActiveX , вы можете применить свойства и методы непосредственно
к переменной объекта, которая ссылается на ShapeRange. Кроме того, у вас появляется
возможность шаг за шагом пройти через объект ShapeRange, как вы это делаете с
любым другим объектом коллекции. Следующая процедура вызывает предшествующую функцию
DefineControlShapeRange(), чтобы задать объект ShapeRange, содержащий все элементы
управления из слоя рисования. После этого она выравнивает все эти элементы управления
по левому крайнему и устанавливает их ширину равной самому широкому элементу управления.
Public Sub AlignControlsLeft() ' ' объявляет переменную объекта ShapeRange Dim objControlShapeRange As Word.ShapeRange ' ' DefineControlShapeRange() возвращает значение True, ' если активный документ содержит элемент управления ' ActiveX в слое рисования If DefineControlShapeRange(objControlShapeRange) = True Then ' выравнивает левую сторону всех элементов управления ' по самому левому элементу управления objControlShapeRange.Align msoAlignLefts, False ' ' устанавливает ширину всех элементов управления равной ' самому широкому элементу управления For Each objControl In objControlShapeRange If objControl.Width > sngControlWidth Then _ sngControlWidth = objControlWidth Next For Each objControl In objControlShapeRange objControl.Width = sngControlWidth Next End If End Sub
В начало статьи
Выделение конкретного
типа элементов управления
Если возникает необходимость работы только с
определенным типом элементов управления, вы можете шаг за шагом пройти через коллекцию
Shapes или InlineShapes и проверить значение свойства ProgID для каждого члена
коллекции. (Свойство ProgID применяется непосредственно к объекту OLEFormat отдельного
объекта Shape или InlineShape.) Следующий пример выравнивает левый край всех командных
кнопок в коллекции Shapes активного документа:
Public Sub AlignCommandButtons() For Each ct IN ActiveDocument.Shapes If ct.OLEFormat.ProgID = "Forms.CommandButton.1" _ Then ct.Left = 100 Next End Sub
В
начало статьи
Добавление и удаление элементов управления
программным образом
Для добавления или удаления элементов управления программным
образом используются методы Add и Delete. Следующий пример добавляет флажок к
слою рисования активного документа и устанавливает его значение и заголовок, используемые
по умолчанию:
Private Sub AddCheckBox() Set myCB = _ ActiveDocument.Shapes.AddOLEControl(ClassType:= "Forms.CheckBox1") With myCB.OLEFormat.Object .Value = False .Caption = Установить, если исполнилось 18 лет" End With End Sub
В
начало статьи
Создание и добавление к документу элемента
управления ActiveX
О том, как создать повторно используемый компонент
с помощью Visual Basic Control Creation Edition (VBCCE), мы уже подробно рассказывали
в КомпьютерПресс № 6’97, стр. 183.
В начало статьи
Написание кода для пользовательского элемента управления
ActiveX
Написание кода для пользовательского элемента управления ActiveX
в Visual Basic 5.0 или VBCCE аналогично написанию кода для стандартного элемента
управления ActiveX в Visual Basic for Applications. Единственное ключевое отличие
состоит в том, что для ссылки на объекты Microsoft Word в своем коде сначала необходимо
использовать свойство Parent для возвращения ссылки на объект Document, который
представляет собой документ с расположенным в нем элементом управления ActiveX.
Оттуда вы можете перейти к оставшейся части модели объекта.
Например, рассмотрим
процедуру, которая предназначена для запуска из элемента управления ActiveX, созданного
в VBCEE, а затем вставленного в документ. Эта процедура заполняет окно списка
закладками из документа:
Private Sub lstBkMk_GotFocus() Const MAX_CHARS As Integer = 25 If lstBkMk.ListCount = 0 Then If Parent.Bookmarks.Count Then For Each bkmk In Parent.Bookmarks lstBkMk.AddItem Left(bkmk.Name, MAX_CHARS) Next Else lstBkMk.AddItem "Нет закладок" End If End If End Sub
В начало статьи
© Андрей
Колесов, Ольга Павлова
© Оформление и подготовка к публикации Корпорация
Microsoft
Основные
понятия о формах Word
Форма – это документ с незаполненными
областями, в которые вводятся данные. В Word можно создать следующие виды форм:
1)
формы, распространяемые через Web. Пользователи просматривают и
заполняют форму в обозревателе. После заполнения формы пользователи отправляют
данные в базу данных на сервере HTTP. В формах Web и HTML используются объекты
ActiveX.
2)
формы, просматриваемые и заполняемые пользователями в Word. Этот
вид форм распространяется через электронную почту или по сети. При создании
таких форм можно использовать элементы управления содержимым или элементы
управления формы. Можно использовать более мощные элементы управления
ActiveX.
3)
формы, которые печатаются, а затем заполняются на бумаге. В такие
формы можно вставлять пустые бланки, заполняемые пользователями, а также флажки
для пометки варианта выбора, например: «Да» или «Нет».
Электронные формы содержат обычно следующие
элементы:
–
текст и графические объекты, которые не могут быть изменены
лицом, заполняющим форму. Эти элементы задаются разработчиком формы и включают
в себя вопросы, списки возможных ответов, таблицы с данными и т. д.
–
области, в которые вводит информацию лицо, заполняющее форму. К
этим областям относятся элементы управления содержимым, элементы управления
формы и элементы ActiveX.
Элементы управления содержимымпредставляет
собой области формы, в которых пользователем размещаются сведения определенной
категории. Это может быть флажок, который можно устанавливать и снимать, поле
со списком для выбора значений, текст, который можно изменять, дата и т.д.
Элементы управления содержимым находятся на вкладке Разработчик в группе
Элементы управления.
Элементы управления формы представляет собой
поля формы предыдущих версий Word. К ним относятся только текстовое поле,
флажок и поле со списком. Элементы управления формы добавляются в документ
командой Разработчик/ Инструменты из предыдущих версий/ Формы предыдущих
версий.

Элементы ActiveX – графический объект
пользовательского интерфейса (поле, полоса прокрутки, переключатель, кнопка и
т. п.), позволяющий пользователю управлять программой. Элементы управления,
размещенные в форме, могут служить для отображения данных или вариантов выбора,
выполнения действий или упрощения просмотра формы. Элемент управления можно
сделать «активным», написав для него на языке VBA (Visual Basic for
Applications) макрокоманду, определяющую действия элемента управления. Элементы
ActiveX добавляются в документ командой Разработчик/ Инструменты из
предыдущих версий/ Элементы ActiveX.

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

–
формы с более сложной структурой, использующие таблицы для
размещения постоянных элементов формы, например, для сбора информации:

Последние могут быть оформлены с использованием
таких свойств таблиц, как выравнивание текста, выделения цветом заголовков и
других специальных приемов, которые делают форму более привлекательной и легкой
в использовании.
Для многократного использования электронной формы ее
необходимо выполнить в виде шаблона. Чтобы создать новый шаблон необходимо:

Образцы шаблонов;
–
выбрать нужный шаблон;
–
установить переключатель в положение Шаблон; – щелкнуть по
кнопке Создать.
Если для создания формы используется форма-образец,
которая не является шаблоном, необходимо сохранить созданную форму как шаблон.
Для создания форм на основе таблицы можно
воспользоваться следующими способами:
–
для создания формы с простой
структурой необходимо выполнить
команду Вставка/ Таблица/ Вставить
таблицу…;
– сложную форму можно создать, выполнив команду Вставка/
Таблица/ Нарисовать таблицу… и нарисовав ее отдельные строки и
столбцы. В случае ошибки следует нажать кнопку Ластик на контекстной
вкладке Работа с таблицами и удалить неправильно нарисованные линии.
Создав разметку формы с помощью таблицы, следует
далее ввести в соответствующие ячейки текст и другую постоянную информацию;
отформатировать таблицу, добавляя линии, обрамление и заливку; ввести текст
постоянных абзацев и вставить графические объекты.
В качестве примера ниже представлена структура формы
Платежное поручение. Для увеличения привлекательности формы к ее
ключевым элементам добавляются границы и заливка. Чтобы добавить линии границы,
печатающиеся между ячейками или выделить цветом определенные ячейки, необходимо
щелкнуть на нужную ячейку и выполнить команду Разметка страницы/ Границы
страниц, а затем установите требуемые параметры на вкладках Граница
и Заливка.

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

|
Кнопка |
Назначение |
|
|
Вставка элемента управления содержимым «форматированный текст» |
|
|
Вставка элемента управления содержимым «обычный текст» |
|
|
Вставка элемента управления содержимым «рисунок» |
|
|
Вставка элемента управления содержимым «коллекция стандартных блоков» |
|
|
Вставка элемента управления содержимым «поле со списком» |
|
|
Вставка элемента управления содержимым «раскрывающийся |
|
|
Вставка элемента управления содержимым «выбор даты» |
|
|
Вставка элемента управления содержимым «флажок» |
|
|
Вставка элемента управления формы и элемента ActiveX |
|
|
Вставка элемента управления формы «текстовое поле» |
|
|
Вставка элемента управления формы «флажок» |
|
|
Вставка элемента управления формы «поле со списком» |
|
|
Вставка рамки |
|
|
Включение или выключение затенения полей |
|
|
Удаление всех данных в полях формы |
|
|
Включение или отключение |
|
|
Просмотр и изменение свойств выделенного элемента |
|
|
Группирование и разгруппирование выделенного диапазона |
Необходимо поместить курсор в место, где должен
появиться элемент формы и выбрать элемент управления содержимым, элемент
управления формы или элемент ActiveX.
Кнопка
Затенение
полей формы позволяет легко находить элементы управления формы, которые
требуется заполнить. Это затенение не выводится при печати формы. Чтобы
затенить элементы формы при печати, необходимо выбрать нужный элемент, а затем выполнить
команду Разметка станицы/ Границы станиц и на вкладке
Заливка установить нужные параметры.
Так выглядит готовая электронная форма для создания
платежного поручения с затененными полями:

Для того чтобы пользователь не мог вносить изменения в
структуру формы, для формы устанавливается ограничение от редактирования
(защита). При этом доступными остаются лишь элементы управления. Любые команды,
которые могли бы изменить вид формы, включая почти все команды на ленте
отключаются.

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

Для текстового поля можно определить тип данных и
формат текста, максимальное количество символов, которое можно ввести;
назначить по умолчанию некоторое значение для всех полей, кроме полей текущей
даты и времени, которые назначаются на основании информации, полученной из
компьютера; а также ввести для поля закладку, чтобы получить возможность
использовать значение этого поля где-либо в форме (например, в вычислениях).
Список Тип в диалоговом окне Параметры
текстового поля содержит шесть типов полей, каждый из которых имеет свое
назначение:
|
Параметр |
Назначение |
|
Обычный текст |
Ввод текста, чисел, символов или пробелов |
|
Число |
Ввод чисел |
|
Дата |
Ввод даты |
|
Текущая дата/ Текущее время |
Отображает |
|
Вычисление |
Использует |
Длина текстового поля может составлять от 1 до
32767символов. Возможность выбрать максимально допустимую длину текста,
вводимого в поле формы, полезна, если необходимо ограничить длину ответа
соответственно длине поля имеющейся базы данных.
Имя закладки поля формы может содержать 20 символов,
включая как буквы, так и цифры, но первый символ обязательно должен быть
буквой. В имени закладки не должно быть пробелов.
Текстовое поле типа Обычный текст позволяет
вводить пользователю информацию, состоящую из набора любых символов. Полям
этого типа можно присвоить значение по умолчанию. Оно будет выводиться в них
при загрузке формы.
К полю обычный текст можно применить следующие виды
форматирования:
|
Опции |
Результат |
|
Прописные буквы |
ВСЕ ВЫВОДИТСЯ ПРОПИСНЫМИ БУКВАМИ |
|
Строчные буквы |
все выводится строчными буквами |
|
Первая прописная |
Первая буква первого слова – прописная |
|
Первые прописные |
Первая Буква Каждого Слова – Прописная |
Непосредственно в форме при ее редактировании можно
указать формат шрифта для текстового поля любого типа, воспользовавшись группой
Шрифт.
Текстовое поле формы типа Число допускает
введение только числовой информации. Для числового поля также можно указать
формат отображения данных. Это можно сделать, выбрав нужный формат из
раскрывающегося списка Формат числа или задав его вручную:
|
Формат |
Результат |
|
0,00 |
123,45 |
|
#.##0 |
1.234 |
|
#.##0,00 |
1.234,56 |
|
#.##0,00р.; ( #.##0,00р.) |
1.234,56р. или (1.234,56р.), если число отрицательное |
|
0% |
1% |
|
0,00% |
1,00% |
Для написания собственного числового формата следует
использовать те же элементы шаблона, из которых состоят встроенные форматы:
Нуль)
Нуль в числовом шаблоне указывает на то, что в этом
месте будет располагаться цифра (или цифры, если это целая часть числа). Если
какая-либо цифра попадает на место, которое занимает нуль, то она будет
отображена; если цифры нет, то будет выведен нуль.
# (знак числа)
Знак числа в числовом формате означает, что в этом
месте будет располагаться цифра, причем только одна. Если цифр в поле нет, на
этом месте появляется пробел, а не ноль, как в предыдущем случае.
; (точка с запятой)
Точка с запятой отделяет разделы числового
форматирования. Если необходимо применить один формат к положительным числам,
другой формат – к отрицательным числам и третий для нулевого результата,
указываются три формата, разделенные точкой с запятой.
Текстовому полю формы типа Число также можно
присвоить число по умолчанию.
Текстовое поле формы типа Дата позволяет
ввести данные, представляющие собой дату и время. При вводе данных, отличных от
указанных типов, выдается сообщение об ошибке.
Для этого поля можно установить готовые варианты
форматирования из списка Формат даты или построенные самостоятельно.
|
Формат |
Результат |
|
d.M.yy |
15.1.99 |
|
dddd, d MMMM yyyy ‘г.’ |
четверг, 15 Января 1999 г. |
|
d MMMM yyyy ‘г.’ |
15 Января 1999 г. |
|
d.M.yyyy |
15.1.1999 |
|
yyyy–MM–dd |
1999–01–15 |
|
d–MMM–yy |
15–Янв–99 |
|
d/M/yy |
15/1/99 |
|
d MMM. yy ‘г.’ |
15 Янв. 99 г. |
|
d/M/yyyy |
15/1/1999 |
|
MMMM yy |
Январь 99 |
|
MMM–yy |
Янв–99 |
|
d.M.yy HH:mm |
15.1.99 13:20 |
|
d.M.yy HH:mm:ss |
15.1.99 18:45:12 |
|
h:mm am/pm |
6:25 pm |
|
h:mm:ss am/pm |
6:25:15 pm |
|
HH:mm:ss |
18:25:15 |
Для написания шаблона форматирования даты используют
следующие элементы:
Элемент шаблона М применяется для отображения
месяца; он должен быть обязательно записан буквой верхнего регистра, чтобы
отличить его от элемента шаблона m, обозначающего минуты. Месяц может быть
отображен в одном из четырех возможных форматов:
М — выводит номер месяца без лидирующего нуля.
Декабрь отображается как 12.
ММ — выводит номер месяца с лидирующим нулем.
Декабрь отображается как 12, а январь – как 01;
МММ — отображает месяц в виде
трехбуквенного сокращения, например, декабрь – Дек; ММММ — отображает полное
название месяца: Декабрь.
День – d
Элемент
шаблона d предназначен для отображения дня месяца или недели: d — отображает
день месяца без лидирующего нуля. dd — отображает день месяца с лидирующим
нулем. ddd — отображает день недели в виде двухбуквенного сокращения.
Понедельник выводится как Пн, вторник – как Вт. dddd — отображает полное
название дня недели.
Год – y
Элемент шаблона y используется для
отображения года. Год может быть представлен двумя или четырьмя цифрами: yy —
отображает год в формате, состоящем из двух последних цифр года, и с
добавлением нуля при отсутствии первой цифры. 1999 год будет выглядеть как 99,
а 2002 – как 02. yyyy — отображает полное значение года: 1999 или 2002.
Час – h
Элемент шаблона h используется для отображения
часов. Можно задать четыре формата:
h — отображает час в 12–часовой системе без
лидирующего нуля. 9 часов вечера будет отображаться как 9.
hh — отображает час в 12–часовой системе с
лидирующим нулем. 9 часов вечера будет отображаться как 09.
H — отображает час в 24–часовой системе без
лидирующего нуля. 9 часов вечера будет отображаться как 21, а 9 часов утра –
как 9.
HH — отображает час в 24–часовой системе с
лидирующим нулем. 9 часов вечера будет отображаться как 21, а 9 часов утра –
как 09.
Элемент шаблона m применяется для
отображения минут в одном их двух возможных форматов: m — отображает минуты без
лидирующего нуля. mm — отображает минуты с лидирующим нулем.
Одинарные кавычки (‘) применяются в шаблонах для
вставки текста. Однако их использование необязательно.
Текстовые поля формы типа Текущая дата и Текущее
время используются в форме для указания текущих даты и времени по данным
часов компьютера. Для форматирования этих полей можно использовать те же
форматы, что и для текстового поля типа Дата. В связи с тем, что текущие
дата и время считываются непосредственно из компьютера, здесь нет возможности
назначить что-либо по умолчанию.
Текстовые поле формы типа Вычисление
используется для выполнения вычислений в форме. Ниже приведена табличная форма,
в которой с помощью вычисляемых полей в столбцах Стоимость и НДС производится
подсчет стоимости товаров и величины НДС.
Для текстового поля типа Вычисление
необходимо задать выражение, по которому будет определяться его значение.
Выражение может включать числа, закладки, значениями которых являются числа;
ссылки на ячейки таблицы, если вычисляемое поле помещено в таблицу; операторы и
функции, используемые в выражениях:
|
Оператор |
Описание |
Оператор |
Описание |
|
+ |
Сложение |
= |
Равно |
|
– |
Вычитание |
< |
Меньше чем |
|
* |
Умножение |
< = |
Меньше либо равно |
|
/ |
Деление |
> |
Больше чем |
|
% |
Вычисление процентов |
> = |
Больше либо равно |
|
^ |
Степени и корни |
< > |
Не равно |
|
Функция |
Описание |
|
ABS(x) |
Абсолютное значение числа или формулы (без знака). |
|
AND(x;y) |
1 |
|
AVERAGE( ) |
Среднее значений, включенных в список. |
|
COUNT( ) |
Число элементов в списке. |
|
DEFINED(x) |
1 |
|
FALSE |
0 (нуль). |
|
IF(x;y;z) |
y, |
|
INT(x) |
Целая часть числа или значения формулы x. |
|
MIN( ) |
Наименьшее значение в списке. |
|
MAX( ) |
Наибольшее значение в списке. |
|
MOD(x;y) |
Остаток от деления x на y. |
|
NOT(x) |
0 |
|
OR(x;y) |
1 |
|
PRODUCT( ) |
Произведение |
|
ROUND(x;y) |
Значение |
|
SIGN(x) |
Знак числа: 1 (если x > 0) или –1 (если x < 0). |
|
SUM( ) |
Сумма значений или формул, включенных в список. |
|
TRUE |
1. |
Например, вычисляемое поле Стоимость,
для которого задано будет содержать результат умножения поля, помеченного
закладкой Цена, на поле, помеченное закладкой Количество.
Если для поля включен флажок , то при выходе из
этого поля происходит автоматический перерасчет всех зависимых от данного поля
вычисляемых полей формы. Так как в режиме защиты формы вычисляемое поле
недоступно, то для его автоматического вычисления необходимо в параметрах всех
полей, значения которых используются в вычислении, установить этот флажок.
Значения полей Текущая дата/ Текущее время и Вычисление
не могут быть изменены пользователем. Для того чтобы запретить изменения полей
другого типа, в их параметрах следует снять флажок .


например, если необходимо отметить выбор каких-либо
опций:

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

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

данного типа также можно запретить изменения. При этом
список будет недоступен, и в поле сохранится первое
значение списка.
Кнопка раскрывающегося списка, сопутствующая полю со
списком, отображается лишь в режиме защиты формы.
Для облегчения работы с формой к ее элементам
управления формы можно добавить справку, где будет указано, какую именно
информацию следует занести в поле. Разработчик формы может определить справку
двух видов:
— справка в строке
состояния;
— справка по нажатию
клавиши F1.
Содержимое
справки задается в параметрах элемента после нажатия
на
кнопку
В диалоговом окне Текст справки для поля формыдоступны
следующие опции:
|
Опция |
Назначение |
|
Нет |
Текст справки для поля формы не выводится |
|
Элемент автотекста |
Позволяет |
|
Текст справки |
Позволяет |

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

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

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

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

В свойствах элемента Флажок можно выбрать
символ установленного и символ снятого флажка.

После того, как шаблон новой формы закончен, защищен
и сохранен в папке с шаблонами, его можно использовать для введения информации.
Для этого следует создать новый документ на основе этого шаблона по команде Файл/
Создать.
При заполнении формы перемещение между полями
осуществляется клавишами Tab и Shift-Tab или стрелками.
Заполненную форму следует сохранить как документ.
Word позволяет сохранять только данные формы, чтобы использовать их, например,
в базе данных. При этом содержимое полей будет размещено через запятую в
текстовом файле. Если необходимо сохранить только вводимую информацию,
необходимо выполнить команду Файл/ Параметры/ Дополнительно и установить
флажок .
Распечатка формы практически не отличается от
распечатки любого другого документа. Для этого необходимо выполнить команду Файл/
Печать. Если нужно распечатать только данные, которые вводились в форму,
необходимо выполнить команду Файл/ Параметры/
Дополнительнои установить флажок . При этом
данные будут печататься именно в тех метах, где они находились в форме.




