6.2. Створення та автоматичне заповнення бланків стандартних документів
Створення VBA-програм
Приклад 39. При оплаті за навчання студент вносить гроші в касу, де бухгалтер заповнює від руки квиток про оплату. Автоматизувати ручну роботу бухгалтера, створивши форму, що заповнює картку оплати, яку можна при необхідності відправити на друк.
технологія виконання
Інтерфейс шаблону і додатки
Як інтерфейс спочатку розглянемо найпростішу форму додатка, що відповідає умовам завдання і включає в себе відповідні текстові поля введення і робочі кнопки (рис. 85).
Мал. 85. Форма прикладу 39 в робочому стані
Далі розглянемо, як автоматизувати друк квитанції про оплату за навчання.
Почнемо з розробки бланка стандартного документа (друкованої форми). Цю форму можна зробити на базі шаблону з текстовими полями, в які будуть заноситися змінюються відомості. Для цього виконайте такі команди: Файл + Створити. У правій частині вікна нового документа виберіть Шаблони і гіперпосилання На моєму комп'ютері (рис. 86). Після чого з'явиться діалогове вікно Шаблони (рис. 87), в якому на вкладці Загальні необхідно виділити піктограму Новий документ і поставити перемикач Шаблон в рамці Створити.
Увімкніть панель Форми (Вид + Панелі інструментів + Форми). Для подальшої роботи знадобиться тільки один елемент цієї панелі - Текстове поле яке дозволяє створити на формі змінюється поле (або за допомогою коду, або самим користувачем). Вибираючи курсором місце в документі Word для розташування відповідного поля і розташувавши на ньому елемент Поле. можна отримати необхідну форму. Для того щоб розширити поле, треба поставити в нього курсор і кілька разів натиснути Tab. Для того щоб підкреслити поле, виділіть його як текст і застосуєте до нього підкреслення.
Мал. 87. Діалогове вікно Шаблони
Створіть шаблон документа, дотримуючись рис. 88.
Мал. 88. Шаблон документа word, в який вносяться дані для друку
У деяких полях (поля виділені сірим фоном) можна ввести значення за замовчуванням. Значення за замовчуванням встановлюється за допомогою діалогового вікна Властивості. яке можна вивести на екран таким чином:
• натиснути правою клавішею миші по необхідному текстового поля;
• в постає контекстному меню вибрати Властивості;
• вказати значення за замовчуванням (рис. 89).
Значення за замовчуванням дозволяють змінювати тільки ті дані, які повинні змінюватися нечасто. Наприклад, оплата за навчання в основному одна і та ж - 1500 руб. тому значення цього поля буде мінятися не дуже часто.
Мал. 89. Установка параметрів текстового поля «сумма_опл»
Розглянемо і інші необхідні елементи робочого вікна «Параметри текстового поля». В поле Тип вказується тип значення, яке можна поміщати в поле. Можна заповнити поле Максимальна довжина. хоча найбільш важливим для подальшого використання кодом VBA є поле Закладка. Значення цього поля буде служити міткою, в яку повинен встановлюватися курсор, перед приміщенням в документ чергової порції інформації. Тому, як тільки всі необхідні поля визначені, потрібно вказати для кожного з них осмислені мітки. Для бланка документа Word, наведеного на рис. 86, задамо (послідовно) такі мітки:
Прізвище - прізвище студента;
Ім'я - ім'я студента;
По батькові - батькові студента;
Група - найменування групи;
Месяц_опл - назва місяця, за який вноситься оплата;
Сумма_опл - внесена сума;
ФІО_бух - прізвище прийняв бухгалтера;
Дата_опл - дата оплати.
Після закінчення розробки форми документа збережемо його під ім'ям Оплата за навчання в каталозі Шаблони. На рис. 88 представлений шаблон створеного документа до мінливих полями.
Створення модуля Друк для шаблону документа
У лістингу представлений код процедури друку бланка квитанції про оплату, супутні і налагоджувальні процедури.
У зв'язку з відмінностями змінних, прийнятих і переданих на друк, оголосимо як 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
Відкомпілюйте програму і запустіть на перевірку.
Завдання на закріплення матеріалу
Приклад 40. Розробити форму бланка поштового переказу для полегшення праці співробітників, пов'язаних з частим оформленням грошових переказів.
Готовий шаблон документа і форма даються на рис. 90 і 91.
Мал. 90. Приклад спрощеного бланка поштового переказу з текстовими змінними полями (шаблон документа)