Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Автоматизация WORD.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
557.06 Кб
Скачать

2.5 Текст кода программы.

Файл Unit1.h:

#ifndef Unit1H

#define Unit1H

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

//-----------------------------------------------

class TForm1 : public TForm

{

__published:

TButton *Button1;

TButton *Button3;

TButton *Button2;

void __fastcall Button1Click(TObject *Sender);

void __fastcall Button3Click(TObject *Sender);

private:

Variant vVarApp,vVarDocs,vVarDoc,vVarParagraphs,

vVarParagraph,vVarRange,vVarTables,vVarTable,

vVarCell;

bool fStart;

AnsiString str;

public:

__fastcall TForm1(TComponent* Owner);

};

//-----------------------------------------------

extern PACKAGE TForm1 *Form1;

//-----------------------------------------------

#endif

Файл Unit1.cpp

#include

#pragma hdrstop

#include

#include

#include "Unit1.h"

#pragma package(smart_init)

//#include

#pragma resource "*.dfm"

#pragma hdrstop

TForm1 *Form1;

//---------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Variant v,v1;

if(!fStart)

{

try

{

//Создаем объект Word.Application

vVarApp=CreateOleObject("Word.Application");

fStart=true;

}

catch(...)

{

MessageBox(0, "Ошибка при открытии сервера Word",

"Ошибка", MB_OK);

return;

}

}

//Делаем сервер видимым

vVarApp.OlePropertySet("Visible",true);

//Получаем свойство Documents объекта

vVarDocs=vVarApp.OlePropertyGet("Documents");

//Создаем два документа

vVarDocs.OleProcedure("Add");

vVarDocs.OleProcedure("Add");

//Проверяем, что создано два документа

if(vVarDocs.OlePropertyGet("Count") != 2)

{

MessageBox(0, "Ошибка при создании документов",

"Ошибка", MB_OK);

return;

}

//Будем работать с первым документом - Item == 2;

vVarDoc=vVarDocs.OleFunction("Item",2);

//Смотреть будем тоже на первый документ

vVarDoc.OleProcedure("Activate");

//vVarDoc.OleProcedure("Select");

vVarParagraphs=vVarDoc.OlePropertyGet("Paragraphs");

//Задаем текст для вывода

str="\t\tОзнакомлен\t\t";

//Добавляем параграф

vVarParagraphs.OleProcedure("Add");

//Работаем с первым параграфом

vVarParagraph=vVarParagraphs.OleFunction("Item",1);

//Заносим в него текст

vVarParagraph.OlePropertyGet("Range").

OlePropertySet("Text",str.c_str());

//Выравниваем по правому краю

vVarParagraph.OlePropertySet("Alignment",2);

//Второй параграф

str="Директор\t\t=Пупкин=";

vVarParagraphs.OleProcedure("Add");

vVarParagraph=vVarParagraphs.OleFunction("Item",2);

vVarParagraph.OlePropertyGet("Range").

OlePropertySet("Text",str.c_str());

vVarParagraph.OlePropertySet("Alignment",2);

//Третий параграф - пустой

vVarParagraphs.OleProcedure("Add");

//Четвертый параграф

str="\"....\"...........................2003г.";

vVarParagraphs.OleProcedure("Add");

vVarParagraph=vVarParagraphs.OleFunction("Item",4);

vVarParagraph.OlePropertyGet("Range").

OlePropertySet("Text",str.c_str());

vVarParagraph.OlePropertySet("Alignment",2);

//Пятый параграф - пустой

vVarParagraphs.OleProcedure("Add");

//Шестой параграф

str="Итоги работы за неделю.";

vVarParagraphs.OleProcedure("Add");

vVarParagraph=vVarParagraphs.OleFunction("Item",6);

vVarParagraph.OlePropertyGet("Range").

OlePropertySet("Text",str.c_str());

//wdAlignParagraphCenter

vVarParagraph.OlePropertySet("Alignment",1);

//Фон Документа

vVarDoc.OlePropertyGet("Background").

OlePropertyGet("Fill").

OlePropertyGet("ForeColor").

OlePropertySet("RGB",RGB(255, 255, 153));

vVarDoc.OlePropertyGet("Background").

OlePropertyGet("Fill").

OlePropertySet("Visible",-1);

vVarDoc.OlePropertyGet("Background").

OlePropertyGet("Fill").

OleFunction("Solid");

//Убираем линейку

vVarApp.OlePropertyGet("ActiveWindow").

OlePropertyGet("ActivePane").

OlePropertySet("DisplayRulers",false);

//Размер окна

vVarApp.OlePropertySet("WindowState",1);

//Панели Инструментов

vVarApp.OlePropertyGet("CommandBars","Standard").

OlePropertySet("Visible",false);

//Разметка страницы

vVarApp.OlePropertyGet("ActiveWindow").

OlePropertyGet("ActivePane").

OlePropertyGet("View").

OlePropertySet("Type",6);

//Масштаб отлбражения документа

vVarApp.OlePropertyGet("ActiveWindow").

OlePropertyGet("ActivePane").

OlePropertyGet("View").

OlePropertyGet("Zoom").

OlePropertySet("Percentage",100);

//Проверка грамматики

vVarApp.OlePropertyGet("Options").

OlePropertySet("CheckGrammarAsYouType",false);

vVarApp.OlePropertyGet("Options").

OlePropertySet("CheckGrammarWithSpelling",false);

//Шрифт устанавливаем для строки параграфа

vVarParagraph=vVarParagraphs.OleFunction("Item",6);

v=vVarParagraph.OlePropertyGet("Range").

OlePropertyGet("Font");

//Цвет шрифта

v.OlePropertySet("Color",255);

//Размер шрифта

v.OlePropertySet("Size",18);

//Имя шрифта

v.OlePropertySet("Name","Times New Roman");

//Стиль шрифта

v.OlePropertySet("Bold",true);

v.OlePropertySet("Italic",true);

//Подчеркивание

v.OlePropertySet("Underline",1);

//Цвет подчеркивания

v.OlePropertySet("UnderlineColor",16711680);

//Зачеркивание

v.OlePropertySet("StrikeThrough",false);

v.OlePropertySet("DoubleStrikeThrough",false);

//Двойные линии обводки шрифта

v.OlePropertySet("Outline",false);

//Приподнятый

v.OlePropertySet("Emboss",false);

//Шрифт с тенями

v.OlePropertySet("Shadow",true);

//Скрытый

v.OlePropertySet("Hidden",false);

//Все буквы в нижнем регистре

v.OlePropertySet("SmallCaps",false);

//Все буквы в верхнем регистре

v.OlePropertySet("AllCaps",false);

//Гравированный шрифт утопленный

v.OlePropertySet("Engrave",false);

//В верхнем индексе

v.OlePropertySet("Superscript",false);

//В нижнем индексе

v.OlePropertySet("Subscript",false);

//Расстояние между буквами

v.OlePropertySet("Spacing",0);

//Масштаб

v.OlePropertySet("Scaling",100);

//Смещенный вверх или вниз в пикселях

v.OlePropertySet("Position",0);

//Кернинг - слияние в пунктах

v.OlePropertySet("Kerning",1);

//Анимация

v.OlePropertySet("Animation",0);

//Запоминаем где курсор - свойство Selection

v=vVarApp.OlePropertyGet("Selection");

//Сдвинем курсор на 5 параграфов вниз

v.OleProcedure("MoveDown",4,5);

//Встанем на начало строки

v.OleProcedure("HomeKey",5);

//Сдвигаемся на 13 символов вправо

v.OleProcedure("MoveRight",1,13);

//Выделяем "за неделю"

v.OleProcedure("MoveRight",1,10,1);

//зменим цвет выделенного текста

v.OlePropertyGet("Font").

OlePropertySet("Color",8388608);

///////////////////////Cоздание таблицы//////////

//Добавляем два параграфа

vVarParagraphs.OleProcedure("Add");

vVarParagraphs.OleProcedure("Add");

//Выбираем ряд в параграфе

vVarParagraph=vVarParagraphs.OleFunction("Item",8);

vVarParagraph.OlePropertySet("Alignment",1);

vVarRange = vVarParagraph.OlePropertyGet("Range");

//Добавляем таблицу

vVarDoc.OlePropertyGet("Tables").

OleProcedure("Add", vVarRange, 3, 9,1,1);

//Работать будем с первой таблицей

vVarTable=vVarDoc.OlePropertyGet("Tables").

OleFunction("Item",1);

//Выравниваем таблицу по центру

vVarTable.OlePropertyGet("Rows").

OlePropertySet("Alignment",1);

//Установка ширины таблицы

vVarTable.OleFunction("AutoFitBehavior",2);

//Сетка в таблице

vVarApp.OlePropertyGet("ActiveWindow").

OlePropertyGet("View").

OlePropertySet("TableGridlines",true);

//Стиль таблицы

vVarTable.OleFunction("AutoFormat",25);

//Занесение информации в ячейки

for(int i=2;i <= 8;i++)

{

vVarCell=vVarTable.OleFunction("Cell",1,i);

vVarCell.OleFunction("Select");

v = vVarApp.OlePropertyGet("Selection").

OlePropertyGet("Font");

v.OlePropertySet("Size",16);

v.OlePropertySet("Underline",0);

v.OlePropertySet("Color",clYellow);

vVarCell.OlePropertyGet("Range").

OlePropertySet("Text",i-1);

}

random(50);

int j,k=0;

for(int i=2;i <= 9;i++)

{

vVarCell=vVarTable.OleFunction("Cell",2,i);

vVarCell.OleFunction("Select");

v = vVarApp.OlePropertyGet("Selection").OlePropertyGet("Font");

v.OlePropertySet("Size",14);

v.OlePropertySet("Underline",0);

j=random(50);

if(i != 9)

{

vVarCell.OlePropertyGet("Range").

OlePropertySet("Text",j);

k=k+j;

}

else

vVarCell.OlePropertyGet("Range").

OlePropertySet("Text",k);

}

k=0;

for(int i=2;i <= 9;i++)

{

vVarCell=vVarTable.OleFunction("Cell",3,i);

vVarCell.OleFunction("Select");

v = vVarApp.OlePropertyGet("Selection").

OlePropertyGet("Font");

v.OlePropertySet("Size",14);

v.OlePropertySet("Underline",0);

j=random(30);

if(i != 9)

{

vVarCell.OlePropertyGet("Range").

OlePropertySet("Text",j);

k=k+j;

}

else

vVarCell.OlePropertyGet("Range").

OlePropertySet("Text",k);

}

vVarCell=vVarTable.OleFunction("Cell",1,9);

vVarCell.OleFunction("Select");

v = vVarApp.OlePropertyGet("Selection").

OlePropertyGet("Font");

v.OlePropertySet("Size",16);

v.OlePropertySet("Underline",0);

v.OlePropertySet("Color",clRed);

vVarCell.OlePropertyGet("Range").

OlePropertySet("Text","Итог");

for(int i=1;i <= 3;i++)

{

vVarCell=vVarTable.OleFunction("Cell",i,1);

vVarCell.OleFunction("Select");

v = vVarApp.OlePropertyGet("Selection").

OlePropertyGet("Font");

v.OlePropertySet("Size",16);

v.OlePropertySet("Underline",0);

v.OlePropertySet("Color",clBlue);

v1=vVarApp.OlePropertyGet("Selection").

OlePropertyGet("ParagraphFormat");

v1.OlePropertySet("Alignment", 0);

switch(i)

{

case 1:

vVarCell.OlePropertyGet("Range").

OlePropertySet("Text","Товар\\Дни недели");

break;

case 2:

vVarCell.OlePropertyGet("Range").

OlePropertySet("Text","Компьютеры:");

break;

default:

vVarCell.OlePropertyGet("Range").

OlePropertySet("Text","Принтеры:");

}

}

AnsiString vAsCurDir=GetCurrentDir();

AnsiString vAsCurDir1=vAsCurDir+"\\test.doc";

vVarDoc=vVarDocs.OleFunction("Item",2);

vVarDoc.OleProcedure("SaveAs",vAsCurDir1.c_str());

}

//---------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

if(fStart) vVarApp.OleProcedure("Quit");

Close();

}

//---------------------------------------

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]