Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Работа с Word через OLE

Delphi , Технологии , OLE Automation MSOffice

Работа с 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, который использует технологию OLE (Object Linking and Embedding) для взаимодействия с Microsoft Word. Программа позволяет загружать файл Word-документа, отображать его в контроле OleContainer и печатать документ.

Разбивка кода:

  1. Единица Unit1 содержит форму (TForm1) с несколькими компонентами:
    • OleContainer1: контроль для отображения OLE-объектов (например, файл Word-документа).
    • Panel1, StatusBar1 и другие компоненты используются для отображения элементов интерфейса.
  2. Класс TForm1 имеет два приватных метода: mbLoadClick и mbPrintClick. Эти методы вызываются при клике соответствующих кнопок (mbLoad и mbPrint).
  3. В методе mbLoadClick программа использует компонент OpenDialog для выбора файла Word-документа. Если файл был успешно загружен, программа устанавливает состояние контрола OleContainer1 для отображения загруженного документа.
  4. Метод mbPrintClick проверяет, имеет ли контроль OleContainer1 загруженный объект (например, Word-документ). Если есть, программа получает интерфейс WordBasic из загруженного объекта и вызывает метод FilePrint, чтобы напечатать документ.

Примечания к коду:

  • Программа использует единицу OleCtnrs, которая обеспечивает поддержку OLE-контейнеров.
  • Метод OleContainer1.CreateObjectFromFile используется для загрузки Word-документа из файла.
  • Метод OleContainer1.DoVerb(ovShow) используется для отображения загруженного документа в контроле OleContainer.
  • Строка V := OleContainer1.OleObject.Application.WordBasic получает интерфейс WordBasic, который обеспечивает доступ к различным функциям автоматизации Word.

В целом, этот код демонстрирует пример использования OLE для взаимодействия с Microsoft Word из программы на языке Delphi.

В статье описывается создание приложения на Delphi, которое использует технологию OLE для работы с файлами Microsoft Word, а также примеры использования методов загрузки и печати документов.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: OLE Automation MSOffice ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 14:21:32/0.003817081451416/0