Создаем график в 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