Телефон: +7 (495) 649-0526

Как создать программу для заполнения бланков

Картинка к странице

Следующая статья:

Содержание

Создание VBA-программ

Пример

При оплате за обучение студент вносит деньги в кассу, где бухгалтер заполняет от руки квиток об оплате. Автоматизировать ручную работу бухгалтера, создав форму, заполняющую карточку оплаты, которую можно при необходимости отправить на печать.

Интерфейс шаблона и приложения

В качестве интерфейса сначала рассмотрим самую простую форму приложения, отвечающего условиям задачи и включающего в себя соответствующие текстовые поля ввода и рабочие кнопки.

Форма в рабочем состоянии

Форма в рабочем состоянии

Далее рассмотрим, как автоматизировать печать квитанции об оплате за обучение.

Начнем с разработки бланка стандартного документа (печатной формы). Эту форму можно сделать на базе шаблона с текстовыми полями, в которые будут заноситься изменяющиеся сведения. Для этого выполните следующие команды: Файл + Создать. В правой части окна нового документа выберите раздел Шаблоны и гиперссылку На моем компьютере. После чего появится диалоговое окно Шаблоны, в котором на вкладке Общие необходимо выделить пиктограмму Новый документ и поставить переключатель Шаблон в рамке Создать.

Включите панель Формы (Вид + Панели инструментов + Формы). Для дальнейшей работы понадобится только один элемент этой панели – Текстовое поле , которое позволяет создать на форме изменяющееся поле (либо посредством кода, либо самим пользователем). Выбирая курсором место в документе Word для расположения соответствующего поля и расположив на нем элемент Поле, можно получить необходимую форму. Для того чтобы расширить поле, надо поставить в него курсор и несколько раз нажать Tab. Для того чтобы подчеркнуть поле, выделите его как текст и примените к нему подчеркивание.

Диалоговое окно Шаблоны

Диалоговое окно Шаблоны

Создайте шаблон документа.

Шаблон документа Word, в который вносятся данные для печати

Шаблон документа Word, в который вносятся данные для печати

В некоторых полях (поля выделены серым фоном) можно ввести значения по умолчанию. Значение по умолчанию устанавливается при помощи диалогового окна Свойства, которое можно вывести на экран следующим образом:

  • щелкнуть правой клавишей мыши по необходимому текстовому полю;
  • в появляющемся контекстном меню выбрать Свойства ;
  • указать значение по умолчанию.

Значения по умолчанию позволяют менять только те данные, которые должны изменяться нечасто. Например, оплата за обучение в основном одна и та же – 1500 руб., поэтому значение этого поля будет меняться не очень часто.

Установка параметров текстового поля «сумма_опл»

Установка параметров текстового поля «сумма_опл»

Рассмотрим и другие необходимые элементы рабочего окна «Параметры текстового поля». В поле Тип указывается тип значения, которое можно помещать в поле. Можно заполнить поле Максимальная длина, хотя наиболее важным для дальнейшего использования кодом VBA является поле Закладка. Значение этого поля будет служить меткой, в которую должен устанавливаться курсор, перед помещением в документ очередной порции информации. Поэтому, как только все необходимые поля определены, нужно указать для каждого из них осмысленные метки. Для бланка документа Word зададим (последовательно) такие метки:

Фамилия – фамилия студента;

Имя – имя студента;

Отчество – отчество студента;

Группа – наименование группы;

Месяц_опл – название месяца, за который вносится оплата;

Сумма_опл – внесенная сумма;

ФИО_бух – фамилия принявшего бухгалтера;

Дата_опл – дата оплаты.

После окончания разработки формы документа сохраним его под именем Оплата за учебу в каталоге Шаблоны.

Создание модуля Печать для шаблона документа

Далее необходимо перейти в редактор VBA и создать форму приложения, отвечающего условиям задачи.

В листинге представлен код процедуры печати бланка квитанции об оплате, сопутствующие и отладочные процедуры.

Листинг (занести в Модуль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

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

Откомпилируйте программу и запустите на проверку.

Задача на закрепление материала

Задача

Разработать форму бланка почтового перевода для облегчения труда сотрудников, связанных с частым оформлением денежных переводов.

Пример упрощенного бланка почтового перевода с текстовыми изменяющимися полями (шаблон документа)

Пример упрощенного бланка почтового перевода с текстовыми изменяющимися полями (шаблон документа)

Форма Рассылка в режиме выполнения для примера

Форма Рассылка в режиме выполнения для задачи

Видео: «Дело было вечером, делать было нечего»

Дело было вечером, делать было нечего
Интересное в интернете: пластиковые окна цена

Статья: Как создать программу для заполнения бланков

Раздел: VBA программирование (office)

Сайт: SD Company » Все разделы статей

Последнее изменение: 2010.12.01 в 03:57

Теги: программа для заполнения бланков, vba

Следующая статья:

Как создать программу для заполнения баз данных
Как создать программу для заполнения баз данных
В этой статье описано как с помощью VBA создать программу для работы с базами данных
Как создать собственный блог
Как создать собственный блог
Как создать собственный блог, вопрос который сейчас интересует многих, так давайте научимся его создавать. Статья о том как создать собственный блог
Как создать декларацию перспективы команды
Как создать декларацию перспективы команды
Четкий план действий помогает членам команды понять, что нужно сделать для достижения поставленных целей
Как применить тему для оформления страниц
Как применить тему для оформления страниц
Данная статья описывает применение и настройку тем оформления к отдельной странице или сайту в целом
Как экономить на дизайне сайтов?
Как экономить на дизайне сайтов?
Статья о том, как сделать уникальный и экономный дизайн сайта используя разные специализированные сайты