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)
UserForm1.Hide
End Sub
В связи с различием переменных, принимаемых и передаваемых на печать, объявим как Public переменные двух видов: получаемые интерфейсной частью приложения и печатаемые в форме шаблона.
Обратите внимание на то, что здесь все данные имеют тип String. Такие однотипные данные позволяют записывать их в поля формы в цикле, содержащем всего два оператора (см. описание листинга).
Работа кнопки
Option Explicit
Private Sub CommandButton1_Click()
фамилия = фам1
имя = имя1
отчество = отчество1
группа = групп1
месяц_опл = месяц
сумма_опл = сумма
фио_бух = бух
дата_опл = дата
Call Печать
End Sub
Процедуры присваивания переменным формы приложения введенных значений в текстовые поля формы.
Private Sub textBox1_change()
фам1 = TextBox1.Value
End Sub
Private Sub textBox2_change()
имя1 = TextBox2.Value
End Sub
Private Sub textBox3_change()
отчество1 = TextBox3.Value
End Sub
Private Sub textBox4_change()
групп1 = TextBox4.Value
End Sub
Private Sub textBox5_change()
месяц = TextBox5.Value
End Sub
Private Sub textBox6_change()
сумма = TextBox6.Value
End Sub
Private Sub textBox7_change()
бух = TextBox7.Value
End Sub
Private Sub textBox8_change()
дата = TextBox8.Value
End Sub
Откомпилируйте программу и запустите на проверку.
Готовый шаблон документа и форма даются на рис. 90 и 91.
Рис. 90. Пример упрощенного бланка почтового перевода с текстовыми изменяющимися полями (шаблон документа)
Рис. 91. Форма
Часть III
Программирование на VBA в Excel
Глава 7
Особенности использования VBA в Excel
7.1. Основные объекты VBA в Excel
В Excel наиболее важным является объект Application. Объект Application (приложение) является главным в иерархии объектов Excel и представляет само приложение Excel. Он имеет более 120 свойств и 40 методов. Эти свойства и методы предназначены для установки общих параметров приложения Excel. В иерархии Excel объект Workbook (рабочая книга) идет сразу после объекта Application и представляет файл рабочей книги. Рабочая книга хранится либо в файлах формата XLS (стандартная рабочая книга), либо XLA (полностью