unit Unit1;
interfaceuses
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;
beginif OleContainer1.State = osEmpty thenBegin
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 и печатать документ.
Разбивка кода:
Единица Unit1 содержит форму (TForm1) с несколькими компонентами:
OleContainer1: контроль для отображения OLE-объектов (например, файл Word-документа).
Panel1, StatusBar1 и другие компоненты используются для отображения элементов интерфейса.
Класс TForm1 имеет два приватных метода: mbLoadClick и mbPrintClick. Эти методы вызываются при клике соответствующих кнопок (mbLoad и mbPrint).
В методе mbLoadClick программа использует компонент OpenDialog для выбора файла Word-документа. Если файл был успешно загружен, программа устанавливает состояние контрола OleContainer1 для отображения загруженного документа.
Метод 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
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.