Автоматизация документов Microsoft Office: поля, формы, макросы

Как видите, шаблоны — вещь удобная и полезная! Они позволяют сэкономить время при составлении «шаблонных» документов, которых в повседневной работе добрая половина.

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

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

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

  1. Установите курсор туда, где нужно вставить элемент управления. Перейдите на ленте на вкладку Разработчик и нажмите кнопку Элемент управления «раскрывающийся список». В указанное место будет вставлен этот элемент управления.
  2. На вкладке Разработчик нажмите кнопку Свойства элемента управления. Откроется диалоговое окно Свойства элемента управления содержимым.
  3. В диалоговом окне Свойства элемента управления содержимым нажмите кнопку Добавить. Откроется дочернее окно Добавить вариант.
  4. В диалоговом окне Добавить вариант в поле Краткое имя введите тот текст, который вы хотите видеть как первый из вариантов выбора в списке. Нажмите кнопку OK. Значение будет добавлено в список.
  5. Таким же образом внесите в список остальные варианты. В качестве последнего из них введите просто один пробел — дальше поясню, зачем.
  6. Добавив в список все варианты, нажмите в диалоговом окне Свойства элемента управления содержимым кнопку OK. Диалоговое окно закроется. Раскрывающийся список готов!

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

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

В электронных таблицах Excel тоже предусмотрено нечто подобное. Только там ячейки с выбором одного из возможных значений проще создавать с помощью проверки данных — необходимые инструменты расположены на вкладке Данные в группе Работа с данными. Используя в шаблоне документа элементы управления, мы создаем простейшую форму. Однако можно пойти дальше. Кроме приведенных в качестве примера полей, в документах и таблицах Microsoft Office предусмотрены и другие элементы управления: кнопки, флажки, переключатели, полосы прокрутки. Мы привыкли видеть их в диалоговых окнах, но такие элементы можно встраивать непосредственно в документ.

Смысл работы с формой в том, что флажки устанавливаются, кнопки нажимаются, что-то, возможно, вписывается в поля ввода, а в результате формируются текст документа или содержимое таблицы. В таких «автоматизированных документах» обработкой действий пользователя занимаются макросы (макрокоманды).

Макрос — короткая простая программа, написанная на языке Visual Basic for Applications (VBA). В приложениях Microsoft Office поддержка этого языка заложена изначально, и есть все необходимые инструменты. Например, для начала макрос можно просто записать, не вникая в его внутреннее устройство. Схематично:

  1. На вкладке Разработчик в группе Код нажмите кнопку Записать макрос. Ваши действия с таблицей или документом начинают отслеживаться.
  2. Сразу же в открывшемся диалоговом окне предлагается дать имя макросу и назначить сочетание клавиш, которое в дальнейшем будет запускать этот макрос на выполнение.
  3. Последовательно выполняйте действия, которые вы хотите включить в макрос. Приложение Office запоминает их в виде последовательности команд, ведь в VBA любой операции с текстом или таблицами соответствует определенный код.
  4. Выполнив все необходимые операции, снова нажмите кнопку Записать макрос.

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

При необходимости содержимое макрокоманд можно просмотреть, отредактировать и дополнить в редакторе Visual Basic. Он является обязательной частью пакета Microsoft Office. Обычно только что записанный макрос — линейная последовательность команд. При редактировании в макрокоманды часто вставляют логические функции вида «если… то», «и», «или» и т. д. Выполняя их, макрокоманда проверяет и сравнивает значения разных ячеек, положение элементов управления, и в зависимости от этого строит дальнейшее поведение.

Любой макрос легко связать с элементами управления формы, например, с нажатием кнопки или выбором определенного значения в списке. Например, при создании элемента Кнопка сразу же предлагается назначить ему макрокоманду. Многим нужно бывает вставлять в документы «сумму прописью» или «число прописью». Среди стандартных инструментов Office такая функция отсутствует, однако задача легко решается с помощью макроса. Это одно из любимых упражнений для тех, кто начинает осваивать Visual Basic. В Интернете вы найдете тысячи примеров готовых макрокоманд, а также подробные разборы того, как написать подобный макрос самостоятельно.

Благодаря формам и макросам электронную таблицу удается превратить в довольно «умное» и изящное «мини-приложение». Работать оно будет на любом компьютере, на котором установлена программа Excel. Например, так делаются прайс-листы, которые клиент превращает в заказ, отмечая нужные позиции. Или, допустим, форма для расчета пластиковых окон. Исходные данные (перечень деталей и цены) содержатся на одном из листов книги Excel. На другом листе — форма. Вводим размеры, выбираем число и тип створок, производителя фурнитуры, отмечаем флажками и переключателями нужные опции. В результате на третьем листе отобразится полная спецификация для заказа, уже с ценами. Человек, освоивший работу с VBA, потратит на создание такой формы всего несколько часов.

Средства VBA с самого начала задуманы как «программирование для простых пользователей». Много интересных примеров и приемов работы с Word и Excel приводится на сайтах ladyoffice.ru, www.excel2010.ru, excelexpert.ru и др. И, разумеется, в первую очередь полезно обратиться к справочной системе Microsoft Office и разделам официального сайта Microsoft, посвященным работе с этим пакетом.

Однако дальше в «глубины автоматизации Office» мы не полезем. Скорее всего, в душе вы не программист и на освоение премудростей Visual Basic время пожалеете. Так ведь и эта статья — не пошаговое руководство, а рассказ о возможностях! О возможностях VBA читайте раздел «Использование VBA для создания сводных таблиц».

Зная о том, на что в принципе способны Word и Excel, вы можете поставить задачу тому, кто разработает «умные» шаблоны легко и с удовольствием. Желающие заняться подобным программированием есть везде. За разработку «малой автоматизации» охотно берутся студенты, любые люди, для которых программирование является хобби. Удачное решение — озадачить знакомых школьников! Им — интересные, притом реальные, темы для рефератов по информатике, а вам — полезные инструменты для работы.


Top