Конференция "Corba" » Работа с MS Graph в Power Point [Delphi, Windows]
 
  • Max Ivanych © (03.10.07 12:41) [0]
    Доброго времени суток!
    Не работал ли кто с добавлением графиков в Power Point?
    Задача состоит в создании графиков в самом Power Point. В принципе, добавить диаграмму как OLE-объект можно
    PowerPointSlide1.Shapes.AddOLEObject(350,200,300,300,'MSGraph.Chart','',0,'',-1,'',0);
    Но дальше у меня ступор - нужно добавить данные, изменить тип диаграммы.
    Работаю с компонентами вкладки Servers, Delphi 7.
    Заранее спасибо за ответ!
  • Кенже (25.11.09 07:07) [1]
    Удалено модератором
    Примечание: Правила читаем
  • steff (19.04.10 16:49) [2]
    Здесь представлен код для 2х кнопок, вторая кнопка создает скрин графика (в моем случае диаграммы), первая кнопка берет полученное изображение и пересылает его в powerPoint

    unit Unit13;

    interface

    uses
     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DbChart, Grids,
     DBGrids, DB, DBClient, StdCtrls, comobj, PowerPointXP, OleServer, ExtDlgs;

    type
     TForm13 = class(TForm)
       DBChart1: TDBChart;
       Series1: TPieSeries;
       DBGrid2: TDBGrid;
       ClientDataSet2: TClientDataSet;
       DataSource2: TDataSource;
       Button1: TButton;
       Button2: TButton;
       procedure Button1Click(Sender: TObject);
       procedure Button2Click(Sender: TObject);

     private
       { Private declarations }
     public
       { Public declarations }
     end;

    var
     Form13: TForm13;

    implementation

    {$R *.dfm}

    procedure TForm13.Button1Click(Sender: TObject);
    var PPT,Presentation,CurrentSlide,ShapeText,ShapeLabel:variant;
      Bmp: TBitmap;
    begin

       PPT:=CreateOleObject('PowerPoint.Application');
       Presentation:=PPT.Presentations.add;
       CurrentSlide:=Presentation.Slides.Add(1, 12);

       ShapeLabel:=CurrentSlide.Shapes.AddLabel(1, 40, 40,400, 100);
       ShapeLabel.TextFrame.TextRange.Text:='Niioiioaiea ?aineiai e io?neiai ia?niiaea';
          PPT.AddPicture('d:\image.gif').Select
    PPT.Selection.Unselect

      end;

    procedure TForm13.Button2Click(Sender: TObject);
     var Bmp: TBitmap;
    begin
    Bmp:=TBitmap.Create;
    DBChart1.Draw(Bmp.Canvas,Rect(0,0,DBChart1.Width,DBChart1.Height));
    DBChart1.SaveToBitmapFile('d:\image.gif');
    end;
    end.

  • Ales_Zugunder © (20.12.10 19:39) [3]
    PSli1.Shapes.AddOLEObject(0, 226.62, 255, 311.75, 'MSGraph.Chart.8','',0,'',0,'',0);
    Shape := PSli1.Shapes.Item(PSli1.Shapes.Count);
    Chart := Shape.OLEFormat.Object_;
    Chart.ChartType := 54;
    Chart.Application.DataSheet.Activate;
    Chart.ChartArea.Font.Bold := False; Chart.Application.DataSheet.Cells.Clear;
    Chart.Application.DataSheet.Cells[2, 1].Value := 'cost';
  • Ales_Zugunder © (20.12.10 19:42) [4]
    Chart : OLEVariant; ;о)
 
Конференция "Corba" » Работа с MS Graph в Power Point [Delphi, Windows]
Есть новые Нет новых   [134427   +34][b:0][p:0.001]