Разработка заданий для MS Word.
именуемый в дальнейшем «Работник», с другой стороны, заключили настоящий контракт о нижеследующем:
1. ПРЕДМЕТ КОНТРАКТА
1.1. Работник работает в должности:
1.2. Работнику установлен оклад:
…
5.3. Срок действия договора:
Необходимо создать макрос, выполнение которого позволит автоматизировать работу по заполнению необходимых полей ввода (№ контракта, дата подписания, Ф.И.О. директора, Ф.И.О. работника, должность, размер оклада, срок действия договора).
Выполнение задания начинается с установки закладок в местах ввода данных. Установите курсор на позицию, с которой будет вводиться текст (первая позиция после слов КОНТРАКТ №). В меню Вставка выберите пункт Закладка. Появится диалоговое окно Закладка.
Рис. 6 Диалоговое окно Закладка.
В поле Имя закладки наберите НомерКонтракта (название пишется без пробела) и нажмите кнопку Добавить. По такому же сценарию установите закладки в других полях ввода (назовите их Дата, ФИОДиректора, ФИОРаботника, Должность, Оклад, СрокДоговора).
Теперь необходимо записать макрос. В меню Сервис выберите пункт Макрос –> Начать запись. Макрос назовите КонтрактНаРаботу, установите способ его запуска.
В меню Правка выберите пункт Перейти… В появившемся окне Найти и заменить выберите вкладку Перейти и в качестве Объект перехода выбрать Закладка.
Рис. 7 Окно Найти и заменить.
Переход к установленной в тексте закладке происходит после выбора её имени в выпадающем списке Введите имя закладки и нажатия кнопки Перейти. Не закрывая диалогового окна, пройдите по всем установленным вами закладкам. Закройте окно кнопкой Закрыть и остановите запись макроса.
Теперь необходимо вызвать на экран инструкции записанного макроса и дополнить их вызовом диалогового окна, при помощи которого будет производиться ввод данных. В меню Сервис укажите на команду Макрос, а затем щёлкните на пункте Макросы. В списке Имя макроса выделите макрос КонтрактНаРаботу, а затем щёлкните по кнопке Изменить. Откроется окно редактора Visual Basic, в котором будет текст макроса.
Sub КонтрактНаРаботу ()
'
' КонтрактНаРаботу Макрос
' Макрос записан 10.04.2006 Пользователь7
'
Selection.GoTo What:=wdGoToBookmark, Name:="НомерКонтракта"
Selection.GoTo What:=wdGoToBookmark, Name:="Дата"
…
Selection.GoTo What:=wdGoToBookmark, Name:="СрокДоговора"
End Sub
Инструкции макроса необходимо дополнить вызовом окна InputBox, необходимым для введения информации. Значение, введённое в поле окна вызова после нажатия кнопки ОК автоматически добавится на место установленной закладки. Функция вызова окна InputBox имеет следующий синтаксис:
Возвращаемое_значение:=InputBox("Вопрос", "Заголовок окна", "Заданное значение")
Параметры функции позволяют задать имя заголовка окна вызова, опрос, отображаемый в окне и значение по умолчанию в строке ввода.
После каждой инструкции макроса выполняющей переход к закладке с определённым именем вставим инструкцию вызова окна InputBox. Заголовком окна укажем Форма контракта, текст вопроса по теме закладки, а значение по умолчанию можно не указывать. Текст макроса примет следующий вид:
Sub КонтрактНаРаботу ()
'
' КонтрактНаРаботу Макрос
' Макрос записан 10.04.2006 Пользователь7
'
Selection.GoTo What:=wdGoToBookmark, Name:="НомерКонтракта"
Selection.TypeText Text:=InputBox("Номер контракта", "Форма контракта", "")
Selection.GoTo What:=wdGoToBookmark, Name:="Дата"
Selection.TypeText Text:=InputBox("Дата контракта", "Форма контракта", "")
Selection.GoTo What:=wdGoToBookmark, Name:="ФИОДиректора"
Selection.TypeText Text:=InputBox("Директор", "Форма контракта", "Сумина П.И.")
Selection.GoTo What:=wdGoToBookmark, Name:="ФИОРаботника"
Selection.TypeText Text:=InputBox("ФИО работника", "Форма контракта", "")
Selection.GoTo What:=wdGoToBookmark, Name:="Должность"
Selection.TypeText Text:=InputBox("Должность", "Форма контракта", "")
Selection.GoTo What:=wdGoToBookmark, Name:="Оклад"
Selection.TypeText Text:=InputBox("Оклад", "Форма контракта", "")
Selection.GoTo What:=wdGoToBookmark, Name:="СрокДоговора"
Selection.TypeText Text:=InputBox("Срок договора", "Форма контракта", "")
End Sub
Сохраните изменения в макросе, выбрав пункт Save Normal в меню File, и закройте окно редактора Visual Basic - пункт Close and Return to Microsoft Word в меню File. Запустите макрос и заполните поля контракта.