Главная Обратная связь

Дисциплины:






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



Файл 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 hdrstopTForm1 *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();}//---------------------------------------






sdamzavas.net - 2019 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...