Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №5

.docx
Скачиваний:
13
Добавлен:
06.05.2017
Размер:
198.68 Кб
Скачать

Симоненко В.С.

ИТ 13-2

Лабораторная работа №5

Автоматизация Microsoft Word: создание таблиц

Цель: получить навыки создания таблиц в среде Microsoft Word.

Индивидуальное задание

Сформировать новый документ Microsoft Word, в который поместить таблицу в соответствии с индивидуальным заданием. При этом формирование таблицы необходимо реализовать двумя способами:

1 – путем непосредственного использования коллекции Tables объекта Document;

2 – путем преобразования текста в таблицу с помощью метода ConvertToTable объекта Range.

Ф.И.О.

Дата

Товар

Сидоров

03.01.04

швеллер

Иванов

15.01.04

стекло

Петров

31.01.04

доски

Морозов

12.12.03

стекло

Алексеев

15.02.04

доски

Романенко

02.02.04

фанера

Павлов

28.12.03

метизы


Листинг:

unit Main;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComObj, XPMan, StdCtrls;

type

TFormMain = class(TForm)

grp1: TGroupBox;

ButtonSloowCreate: TButton;

xpmnfst1: TXPManifest;

ButtonFastCreate: TButton;

MemoData1: TMemo;

MemoData2: TMemo;

MemoData3: TMemo;

procedure FormCreate(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure ButtonSloowCreateClick(Sender: TObject);

procedure ButtonFastCreateClick(Sender: TObject);

private

{ Private declarations }

public

app:Variant;

end;

var

FormMain: TFormMain;

implementation

{$R *.dfm}

procedure TFormMain.FormCreate(Sender: TObject);

begin

app:=CreateOleObject('Word.Application');

app.Visible:=True;

app.Documents.Open('D:\Word.docx');

app.Documents.Item(1).Activate;

end;

procedure TFormMain.FormClose(Sender: TObject; var Action: TCloseAction);

begin

app.Documents.Save;

app.Documents.Close($FFFFFFFF,$00000001);

app.Quit;

end;

procedure TFormMain.ButtonSloowCreateClick(Sender: TObject);

var table:Variant; i:Byte;

begin

table:=App.ActiveDocument.Tables.Add(App.Selection.Range,9,3);

for i := 1 to 9 do

begin

table.Cell(i,1).Range.Text:=MemoData1.Lines[i-1];

table.Cell(i,2).Range.Text:=MemoData2.Lines[i-1];

table.Cell(i,3).Range.Text:=MemoData3.Lines[i-1];

end;

end;

procedure TFormMain.ButtonFastCreateClick(Sender: TObject);

var Rng:Variant; i:Byte;

begin

Rng := app.Selection.Range;

Rng.Collapse($00000000);

for i:= 1 to 9 do

begin

Rng.InsertAfter(MemoData1.Lines[i-1]+'@ '+ MemoData2.Lines[i-1]+'@ '+MemoData3.Lines[i-1]);

Rng.InsertParagraphAfter;

end;

Rng.ConvertToTable('@');

end;

end.

Результат выполнения программы:

Выбираем «Медленный способ»

Вывод: на примере данной лабораторной работы научился создавать таблицы в среде Microsoft Word

Выбираем «Быстрый способ»