Доступ к Microsoft Office: интерфейс Word.Basic, модель объектов, интерфейс автоматизации
Главное достоинство технологии OLE Automation состоит в том, что это общепринятый стандарт и с его помощью можно интегрировать приложения Delphi с другими программами. Типичный пример — интеграция с офисными программами, такими как WinWord и Excel или со специальными программами, такими как 0040 СУБД Oracle, CRAXDRT Crystal Reports и т. п.
Следующий пример иллюстрирует вызов метода Automation. Функция CreateOleObject, определенная в модуле ComObj, возвращает ссылку Dispatch объекта Automation и совместима с назначением с Variant Word.
С использованием интерфейса Word.Basic
Var OV: OleVariant;
Begin
OV:=CreateOleObject(‘Word.Basic’); // Получаем доступ к ProglDOV.Insert(‘Это — первая строка’#13);
ОV.Insert(‘Этo — вторая строка’#13);OV.FileSaveAs(‘C:\Temp\Test.Txt’, 3);
End;
Через программный интерфейс:
OV:=CreateOleObject(‘Word.Application’);
OV.Visible:=true;
OV.Document.Add;
OV.Selection.FontName:=’ Times New Roman’
OV.Insert(‘Это — первая строка’#13);
ОV.Insert(‘Этo — вторая строка’#13);
С помощью интерфейса автоматизации
Uses Exel_TLB;
Var AppXL: Excel_TLB.Application;
Begin
AppXL:= Excel_TLB.Application.Create;
Доступ к OLE-объектам из приложений Microsoft Office
Обратиться к созданному вами объекту в составе OLE-сервера достаточно просто. Для этого необходимо:
• Поместить в документ (*.Doc или *.Xls) кнопку, выполнив команды: Вид\Панели инструментов\Элементы управления
• Дважды щелкнуть по кнопке и в открывшемся окне Visual Basic fоr Word следует ввести код обработчика, вызывающего объект:
Private Sub CommandButton_Click()
Dim DelphiObject As Object;
SetDelphiObject=CreateObject(|ProjectlLib.FirstServer|);
ActiveDocument.Paragraph(l).Range.InsertAfter (DelphiObject.<мeтoд>);
End Sub