Delphi World - Работа с Word через OLE
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Работа с Word через OLE


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Buttons, ComCtrls, ExtCtrls, OleCtnrs;

type
  TForm1 = class(TForm)
    OleContainer1: TOleContainer;
    Panel1: TPanel;
    StatusBar1: TStatusBar;
    mbLoad: TSpeedButton;
    mbPrint: TSpeedButton;
    OpenDialog1: TOpenDialog;
    procedure mbLoadClick(Sender: TObject);
    procedure mbPrintClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.mbLoadClick(Sender: TObject);
begin
 // Покажем диалог, и если он отработал, то загрузим в контейнер
 if OpenDialog1.Execute and (OpenDialog1.FileName<>'') then
  OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,false);
 // Если загрузилось что-нибудь, то покажем
 if OleContainer1.State <> osEmpty then
  OleContainer1.DoVerb(ovShow);
end;

procedure TForm1.mbPrintClick(Sender: TObject);
var
 V : Variant;
begin
 if OleContainer1.State = osEmpty then Begin
  MessageDlg('OLE не загружен !!', mtError, [mbOk],0);
  exit;
 end;
  // Получаем объект, который воплощает в себе WordBasic интерфейс
  V := OleContainer1.OleObject.Application.WordBasic;
  // Командуем до одурения ....
  V.FilePrint;
end;
end.


Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования