Включите панель Формы (Вид + Панели инструментов + Формы). Для дальнейшей работы понадобится только один элемент этой панели – Текстовое поле
которое позволяет создать на форме изменяющееся поле (либо посредством кода, либо самим пользователем). Выбирая курсором место в документе Word для расположения соответствующего поля и расположив на нем элемент Поле , можно получить необходимую форму. Для того чтобы расширить поле, надо поставить в него курсор и несколько раз нажать Tab. Для того чтобы подчеркнуть поле, выделите его как текст и примените к нему подчеркивание.
Рис. 87.Диалоговое окно Шаблоны
Создайте шаблон документа, придерживаясь рис. 88.
Рис. 88.Шаблон документа word, в который вносятся данные для печати
В некоторых полях (поля выделены серым фоном) можно ввести значения по умолчанию. Значение по умолчанию устанавливается при помощи диалогового окна Свойства , которое можно вывести на экран следующим образом:
•щелкнуть правой клавишей мыши по необходимому текстовому полю;
•в появляющемся контекстном меню выбрать Свойства ;
•указать значение по умолчанию (рис. 89).
Значения по умолчанию позволяют менять только те данные, которые должны изменяться нечасто. Например, оплата за обучение в основном одна и та же – 1500 руб., поэтому значение этого поля будет меняться не очень часто.
Рис. 89.Установка параметров текстового поля «сумма_опл»
Рассмотрим и другие необходимые элементы рабочего окна «Параметры текстового поля». В поле Тип указывается тип значения, которое можно помещать в поле. Можно заполнить поле Максимальная длина , хотя наиболее важным для дальнейшего использования кодом VBA является поле Закладка . Значение этого поля будет служить меткой, в которую должен устанавливаться курсор, перед помещением в документ очередной порции информации. Поэтому, как только все необходимые поля определены, нужно указать для каждого из них осмысленные метки. Для бланка документа Word, приведенного на рис. 86, зададим (последовательно) такие метки:
Фамилия – фамилия студента;
Имя – имя студента;
Отчество – отчество студента;
Группа – наименование группы;
Месяц_опл – название месяца, за который вносится оплата;
Сумма_опл – внесенная сумма;
ФИО_бух – фамилия принявшего бухгалтера;
Дата_опл – дата оплаты.
После окончания разработки формы документа сохраним его под именем Оплата за учебув каталоге Шаблоны. На рис. 88 представлен шаблон созданного документа с изменяющимися полями.
Создание модуля Печать для шаблона документа
Далее необходимо перейти в редактор VBA и создать форму приложения, отвечающего условиям задачи (рис. 85).
В листинге представлен код процедуры печати бланка квитанции об оплате, сопутствующие и отладочные процедуры.
Листинг (занести в Модуль1 проекта Оплата за учебу )
Option Explicit
Option Base 1
' переменные формы приложения
Public фам1 As String
Public имя1 As String
Public отчество1 As String
Public групп1 As String
Public месяц As String
Public сумма As String
Public бух As String
Public дата As String
' переменные формы шаблона документа
Public фамилия As String
Public имя As String
Public отчество As String
Public группа As String
Public месяц_опл As String
Public сумма_опл As String
Public фио_бух As String
Public дата_опл As String
Dim book(8) As String
Dim dataMas(8) As String
Dim i As Integer
Sub Печать() 'процедура печати бланка
'Заносим информацию в массивы bookmarmas, datamas
book(1) = «фамилия»: dataMas(1) = фамилия
book(2) = «имя»: dataMas(2) = имя
book(3) = «отчество»: dataMas(3) = отчество
book(4) = «группа»: dataMas(4) = группа
book(5) = «месяц_опл»: dataMas(5) = месяц_опл
book(6) = «сумма_опл»: dataMas(6) = сумма_опл
book(7) = «фио_бух»: dataMas(7) = фио_бух
book(8) = «дата_опл»: dataMas(8) = дата
'заполнение полей квитанции:
For i = 1 To 8
ActiveDocument.FormFields(ActiveDocument.Bookmarks(book(i)).Name).Result = dataMas(i)
Next
ActiveDocument.PrintPreview Выполняется предварительный просмотр печати.
'Для того чтобы реально распечатать документ, применяется метод PrintOut объекта Application (см. Help)
Читать дальше
Конец ознакомительного отрывка
Купить книгу