- •Часть 1. Макросы в формах Word
- •Часть 2. Макросы в формах Excel
- •Часть 1. Макросы в формах Word
- •1. Создание формы.
- •Ход работы.
- •Selection.TypeParagraph Selection.TypeParagraph
- •I ‘Вставка адреса, если ‘установлен ‘соответствующий флажок f chkAddress Then
- •Selection.TypeParagraph
- •Часть 2. Макросы в формах Excel. Пример создания базы данных.
ТЕМА – РАБОТА С МАКРОСАМИ В ФОРМАХ
Содержание
Часть 1. Макросы в формах Word
Часть 2. Макросы в формах Excel
Часть 1. Макросы в формах Word
Задание - В текстовом редакторе Word создать форму, позволяющую включить или исключить любой из четырёх элементов заголовка: имя, адрес, номер телефона и факса или адрес электронной почты.
Форма должна иметь такой же вид, как и на рисунке 1.
Создание такой диалоговой формы можно разбить на 2 этапа:
создание формы;
создание кода для использования формы.
АЛГОРИТМ
1. Создание формы.
Откройте редактор VBA. (Alt + F11)
Если в редакторe VBA окно проекта не отображается на экране, нажмите сочетание клавиш [Ctrl]+[R] для его открытия.
В списке проектов выберите проект Normal.
Выполните команду InsertUserForm (ВставкаUserForm).
Щёлкните в пределах формы. При этом на экране будет отображена Панель элементов (Toolbox), содержащая элементы управления, которые могут быть добавлены в форму.
В окне свойств присвойте свойству Name имя FrmLetterHead.
Свойству Caption присвойте Заголовок письма.
Щёлкните на кнопке Флажок (CheckBox) на панели элементов, а затем щёлкните в левом верхнем углу формы, чтобы обозначить место в форме для размещения создаваемого флажка. (Созданный флажок получает имя по умолчанию CheckBox1)
Трижды повторите шаг 8 для создания остальных флажков.
Используя команды меню FormatAlign (ФорматВыравнять) разместите четыре созданных флажка в столбец, распложенный вдоль левого края формы.
Разместить под созданными флажками кнопку (CommandButton).
Оставив кнопку CommandButton1 выделенной, выделите свойство Name в окне свойств и измените его значение на cmdHeading.
Выделите свойство Caption (Подпись) и измените его значение на Создать заголовок.
Поочередно выделите каждый из четырёх флажков и измените значения свойств Name и Caption для них в соответствии с таблицей1.
Таблица 1. Значение свойств для флажков.
Исходное имя флажка |
Новое значение свойства Name |
Новое значение свойства Caption |
CheckBox1 |
ChkName |
Имя |
CheckBox2 |
ChkAddress |
Адрес |
CheckBox3 |
ChkPhones |
Телефон и факс |
CheckBox4 |
chkEmail |
Электронная почта |
Выделите всю форму, выполнив щелчок на её строке заголовка, а затем, перетаскивая один из угловых размерных маркеров, уменьшите её до необходимого размера.
Проверьте, как отображается созданная форма, нажав [F5].
Вернитесь в окно редактора.
Активизируйте элемент ChkName.
Установите для свойства ControlTipText значение: Вставляет в документ имя адресата.
Запустите форму. Подведите указатель мыши к флажку для имени и задержите мышь. Должна появиться всплывающая подсказка.
Определите подсказки для остальных флажков.
Задание 2. Подготовка кода для использования в форме.
У Вас есть готовый код макроса Заголовок_для_письма, который надо переработать. При доработке кода необходимо учитывать следующие моменты:
основная процедура макроса должна обеспечивать открытие формы Заголовок письма. После того как форма будет открыта, её код будет управлять выполнением программы до завершения операции;
поскольку макрос должен отвечать на щелчок на кнопке Создать заголовок, необходимо переместить имеющийся код макроса, осуществляющий вставку текста, в определенную процедуру обработки события, связанную с формой Заголовок письма. А именно, в процедуру cmdHeading_Click, выполняемую при щелчке на кнопке Создать заголовок. Все действия, связанные со вставкой текста в документ, выполняются в рамках именно этой процедуры.
необходимо дополнить процедуру cmdHeading_Click четырьмя условными структурами. Это позволит определять, какие строки текста подлежат вставке в документ, основываясь на значениях представленных флажками параметров.
Несмотря на то, что подобный план значительно отличается от первоначальных действий, выполняемых исходным макросом, эта часть работы по созданию кода будет сравнительно несложной. В окне кода необходимо переместить большой блок кода из исходного макроса в процедуру cmdHeading_Click. Затем следует добавить новую строку кода для открытия окна диалога в код макроса. И наконец, необходимо добавить последовательность условных инструкций в процедуру cmdHeading_Click для вставки соответствующих частей информации.