Создаем график в Exccel. Перемещаем его по листку нашей книги.
Unit1.cpp
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include <comobj.hpp> //Хидер для OLE объектов //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Variant App, Bks, Bk, Shts, Sht, Cll; //Переменные App-Application, Bks-Книги, Bk-Книга, Shts-Листы, Sht-Лист, Cll-Ячейка //Создаем книгу. Начало. App=CreateOleObject("Excel.Application"); //Создаем объект Excel App.OlePropertySet("Visible",true); //Делаем нашу книгу видимой App.OlePropertySet("DisplayAlerts", false); //Отключаем вопрос на сохранение при закрытии Excel App.OlePropertySet("SheetsInNewWorkbook", 1); //Количество листов в нашей книге. В нашем случае 1. Bks=App.OlePropertyGet("Workbooks"); //Набор рабочих книг Excel Bks.OleProcedure("Add"); //Процедура добавления Bk=Bks.OlePropertyGet("Item", 1); //Текущая книга 1 Shts=Bk.OlePropertyGet("Worksheets"); //Набор листов в книге Excel Sht=Shts.OlePropertyGet("Item", 1); //В каком листе наши данные Sht.OlePropertySet("Name", WideString("Листок")); //Имя у него "Листок" //Создаем книгу. Конец. //Наши данные. Начало. Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",1,1); //Ячейка А1 Cll.OlePropertySet("Value", 1); //Наше данные цифра 1 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",2,1); //Ячейка А2 Cll.OlePropertySet("Value", 5); //Наше данные цифра 5 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",3,1); //Ячейка А3 Cll.OlePropertySet("Value", 8); //Наше данные цифра 8 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",4,1); //Ячейка А4 Cll.OlePropertySet("Value", 2); //Наше данные цифра 2 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",5,1); //Ячейка А5 Cll.OlePropertySet("Value", 9); //Наше данные цифра 9 //Наши данные. Конец. //Создание таблицы. Начало. Cll=Sht.OlePropertyGet("Range", WideString("A1:A5")); //С каках ячеек брать данные Cll.OleProcedure("Select"); //Процедура выбора Bks=App.OlePropertyGet("Charts"); //Запрашиваем график Bks.OleProcedure("Add"); //Процедура добавления //Создание таблицы. Конец. //Перемещение графика на "Листок". Начало. Bk.OlePropertyGet("ActiveChart").OleProcedure("Location",2, WideString("Листок")); //Перемещаем наш график на "Листок" //Перемещение графика на "Листок". Конец. //Перемещение графика по листку. Начало. Variant chartObjsTop, chartObjTop, chartObjsLeft, chartObjLeft; //Переменные // chartObjsTop-диаграмма объектов Вверх, chartObjTop-диаграмма объекта Вверх, // chartObjsLeft-диаграмма объектов Влево, chartObjLeft-диаграмма объекта Влево chartObjsTop=Sht.OleFunction("ChartObjects"); //Функция объект диаграмма chartObjTop=chartObjsTop.OleFunction("Item",1); chartObjsTop.OlePropertySet("Top",50); //Перемещаем от верха на 150 chartObjsLeft=Sht.OleFunction("ChartObjects"); //Функция объект диаграмма chartObjLeft=chartObjsTop.OleFunction("Item",1); chartObjLeft.OlePropertySet("Left",50); //Перемещаем с левого края на 200 //Перемещение графика по листку. Конец. } //---------------------------------------------------------------------------
Unit1.h
//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <System.Classes.hpp> #include <Vcl.Controls.hpp> #include <Vcl.StdCtrls.hpp> #include <Vcl.Forms.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TButton *Button1; void __fastcall Button1Click(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif