Экспорт TImage в документ Microsoft Office Word

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Экспорт TImage в документ Microsoft Office Word

Сообщение Daniel_Riccardo » 10.10.2016 00:07:52

Добрый вечер! Возникла необходимость экспортирования изображения TImage из Lazarus в документ MS Office Word. Скажите, как это реализовать?

На форме имеется Изображение, кнопка. При нажатии кнопки должен автоматически открываться "Word", а в нём должно быть то самое изображение.
Daniel_Riccardo
незнакомец
 
Сообщения: 4
Зарегистрирован: 29.09.2016 18:46:28

Re: Экспорт TImage в документ Microsoft Office Word

Сообщение mig-31 » 10.10.2016 12:09:36

Active X в помощь .

OpenDcoument(); открытие документа
mig-31
постоялец
 
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

Re: Экспорт TImage в документ Microsoft Office Word

Сообщение Daniel_Riccardo » 10.10.2016 16:11:31

mig-31 писал(а):Active X в помощь .

OpenDcoument(); открытие документа


Помогите, пожалуйста, реализовать.
Daniel_Riccardo
незнакомец
 
Сообщения: 4
Зарегистрирован: 29.09.2016 18:46:28

Re: Экспорт TImage в документ Microsoft Office Word

Сообщение mig-31 » 10.10.2016 17:37:39

Google никто не отменял.

http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/OleAuto_CreateOleObject.html

Код: Выделить всё
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,comobj,LCLintf;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
  Word, Doc: Variant;
begin
  //create OLE Object
  Word := CreateOleObject('Word.Application');
  //create New doc
  Doc := Word.Documents.Add;
  //insert picture
  Word.ActiveDocument.InlineShapes.AddPicture('C:\data\test.png');
  //save doc
  Doc.SaveAs('C:\data\test.docx');
  //delete OLE object
  Word.Quit;
  //open doc
  OpenDocument('C:\data\test.docx');
end;

end.               
mig-31
постоялец
 
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

Re: Экспорт TImage в документ Microsoft Office Word

Сообщение Daniel_Riccardo » 11.10.2016 10:42:33

mig-31 писал(а):Google никто не отменял.

http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/OleAuto_CreateOleObject.html

Код: Выделить всё
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,comobj,LCLintf;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
  Word, Doc: Variant;
begin
  //create OLE Object
  Word := CreateOleObject('Word.Application');
  //create New doc
  Doc := Word.Documents.Add;
  //insert picture
  Word.ActiveDocument.InlineShapes.AddPicture('C:\data\test.png');
  //save doc
  Doc.SaveAs('C:\data\test.docx');
  //delete OLE object
  Word.Quit;
  //open doc
  OpenDocument('C:\data\test.docx');
end;

end.               


Большое вам спасибо! Подтолкнули на правильное решение.
1) Написал код для сохранения изображения в определённую директорию;
2) Используя вами представленный код - добавляю изображение в MS Word.
Daniel_Riccardo
незнакомец
 
Сообщения: 4
Зарегистрирован: 29.09.2016 18:46:28


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29

Рейтинг@Mail.ru