Добрый вечер! Возникла необходимость экспортирования изображения TImage из Lazarus в документ MS Office Word. Скажите, как это реализовать?
На форме имеется Изображение, кнопка. При нажатии кнопки должен автоматически открываться "Word", а в нём должно быть то самое изображение.
Экспорт TImage в документ Microsoft Office Word
Модератор: Модераторы
-
Daniel_Riccardo
- незнакомец
- Сообщения: 4
- Зарегистрирован: 29.09.2016 17:46:28
Active X в помощь .
OpenDcoument(); открытие документа
OpenDcoument(); открытие документа
-
Daniel_Riccardo
- незнакомец
- Сообщения: 4
- Зарегистрирован: 29.09.2016 17:46:28
mig-31 писал(а):Active X в помощь .
OpenDcoument(); открытие документа
Помогите, пожалуйста, реализовать.
Google никто не отменял.
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/OleAuto_CreateOleObject.html
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.
-
Daniel_Riccardo
- незнакомец
- Сообщения: 4
- Зарегистрирован: 29.09.2016 17:46:28
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.
