Лабораторная работа №5
.docxСимоненко В.С.
ИТ 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
Выбираем «Быстрый способ»