Создание простого документа. Почтовый конверт

   
На этом шаге мы рассмотрим пример создания почтового конверта.

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

   
Сначала создадим документ (как на рисунке 1).


Рис.1. Шаблон документа

   
Сохраним его в формате "Шаблон документа", чтобы использовать для создания необходимого документа. Текст в
этом документе (###обратный индекс& и т. п.) представляет собой текстовые константы, которые будут заменены
текстом в процессе формирования документа.

   
После создания шаблона скопируем файл с расширением DOT (формат "Шаблон документа") в рабочую
папку программы или папку MS Office. После этого можно приступить к формированию надписей на конверте.
Рассмотрим следующий фрагмент программы.

procedure TForm1.Button1Click(Sender: TObject);
const wdReplaceAll=2;
begin
  W:=CreateOleObject('Word.Application');
  W.Visible:=True;
  // Создаем новый документ по шаблону
  W.Documents.Add('Конверт.dot');
  // Прямой адрес
  W.Selection.Find.Text:='###индекс&';
  W.Selection.Find.Replacement.Text:='350049';
  W.Selection.Find.Execute(Replace:=wdReplaceAll);
  W.Selection.Find.Text:='###адрес&';
  W.Selection.Find.Replacement.Text:='Краснодар, ул. Севастопольская, 
                         д. 3, кв. 1230';
  W.Selection.Find.Execute(Replace:=wdReplaceAll);
  W.Selection.Find.Text:='###получатель&';
  W.Selection.Find.Replacement.Text:='Иванов Иван Иванович';
  W.Selection.Find.Execute(Replace:=wdReplaceAll);
  // Обратный адрес
  W.Selection.Find.Text:= '###обратный индекс&';
  W.Selection.Find.Replacement.Text:='198005';
  W.Selection.Find.Execute(Replace:=wdReplaceAll);
  W.Selection.Find.Text:= '###обратный адрес&';
  W.Selection.Find.Replacement.Text:='Санкт-Петербург, 
                       Измайловский пр., д. 29, кв. 1112';
  W.Selection.Find.Execute(Replace:=wdReplaceAll);
  W.Selection.Find.Text:='###отправитель&';
  W.Selection.Find.Replacement.Text:='Петрова Альбина Васильевна';
  W.Selection.Find.Execute(Replace:=wdReplaceAll);
end;

Текст этого приложения вместе с шаблоном можно взять здесь (8,3 Кб).

   
После выполнения этой процедуры мы получим результат, как на рисунке 2.


Рис.2. Результат работы приложения

   
Чтобы использовать этот результат, необходимо сохранить полученный документ и распечатать его. Можно
выполнять данную процедуру в цикле, получая исходные данные из базы данных и сохраняя документы под
уникальными именами или распечатывая их.

   
Со следующего шага мы начнем рассматривать работу с таблицами.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий